js数组知识总结分享

1、 indexof方法有两个缺点,一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于-1,表达起来不够直观。二是,它内部使用严格相等运算符(===)进行判断,这会导致对nan的误判。

NaN!=NaN//ES5[NaN].indexOf(NaN)// -1//ES6[1, 2, NaN].includes(NaN) // true

登录后复制

2、 fill方法还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置。

  如果填充的类型为对象,那么被赋值的是同一个内存地址的对象,而不是深拷贝对象。

let arr = new Array(3).fill({name: "Mike"});arr[0].name = "Ben";arr// [{name: "Ben"}, {name: "Ben"}, {name: "Ben"}]let arr = new Array(3).fill([]);arr[0].push(5);arr// [[5], [5], [5]]

登录后复制

3、数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。这两个方法都可以接受第二个参数,用来绑定回调函数的this对象。

4、数组实例的copyWithin方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。

它接受三个参数。

target(必需):从该位置开始替换数据。如果为负值,表示倒数。

start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。

end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。

[1, 2, 3, 4, 5].copyWithin(0, 2, 4)// [3, 4, 3, 4, 5]

登录后复制

4、Array.of基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一。

//ES6Array.of() // []Array.of(undefined) // [undefined]Array.of(1) // [1]Array.of(1, 2) // [1, 2]//ES5Array() // []Array(3) // [, , ,]Array(3, 11, 8) // [3, 11, 8]

登录后复制

Array.of方法可以用下面的代码模拟实现。

function ArrayOf(){  return [].slice.call(arguments);}

登录后复制

相关推荐:

js数组操作实例分析

JS数组去重方法总结

js数组常用的一些排序法

以上就是js数组知识总结分享的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2778491.html

(0)
上一篇 2025年3月8日 15:31:28
下一篇 2025年3月8日 15:31:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js表单验证实现代码

    本文主要和大家分享js表单验证实现代码,运用了正则表达式,进行匹配。希望能帮助到大家。 javascript的17种正则表达式  “^\d+$”  //非负整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$”  //正整数 “…

    2025年3月8日
    200
  • js实现导出Excel代码

    本文主要和大家分享js实现导出Excel,主要以代码的形式和大家分享,希望能帮助到大家。     固定报表             $(document).ready(function() { if(${fmOrgDurationDays.…

    编程技术 2025年3月8日
    200
  • js中常用正则表达式分享

    本文主要和大家分享js中常用正则表达式,做了一个总结,希望能帮助到大家。 验证数字:^[0-9]*$ 验证n位的数字:^d{n}$ 验证至少n位数字:^d{n,}$ 验证m-n位的数字:^d{m,n}$ 验证零和非零开头的数字:^(0|[1…

    编程技术 2025年3月8日
    200
  • js中的继承知识详解

    本文我们主要和大家分享js中的继承知识详解,主要以文字和代码的形式和大家分享,希望能帮助到大家。 了解构造,实例,原型之间的关系,构造和实例的prototype指向原型,原型的constructor指向构造 子类需要重复利用父类的方法和属性…

    编程技术 2025年3月8日
    200
  • JS正则表达式关键点总结

        本文主要为大家分享一篇JS正则表达式关键点总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。 为啥要有正则表达式呢?其实就是因为计算机笨(这话不是我说的),比如123456@qq.com,我们一看就是邮箱,可是计…

    编程技术 2025年3月8日
    200
  • JS数组用法详解

    本文主要和大家分享JS数组用法详解,主要以代码的方式和大家分享,希望能帮助到大家。 1、数组的添加和删除 push()方法在数组的尾部添加一个或者多个元素     a = [];    a.push(“zero”)     // a = […

    编程技术 2025年3月8日
    200
  • AngularJS的简介

    AngularJS主要用于构建单页面web应用,本文主要和大家分享AngularJS的简介,希望能帮助到大家。 angularjs的核心:模块、作用域、控制器、表达式、过滤器、指令、路由、依赖注入、服务等 使用AngularJS的优势:使开…

    编程技术 2025年3月8日
    200
  • node.js创建本地服务器详解

    本文主要和大家分享node.js创建本地服务器详解,简易上手node.js后,我们就可以在自己电脑上创建本地服务器了。希望能帮助到大家。 一、先上代码。 //请求Node.js自带的http模块。 var http = require(‘h…

    2025年3月8日
    200
  • 深入理解js对象

    本文主要和大家分享深入理解js对象,主要以代码结合文字和大家分享,希望能帮助到大家。 对象创建 直接量:let obj={x:1};//具有prototype属性new方式:let obj=new Array();//具有protope属性…

    2025年3月8日 编程技术
    200
  • vue.js怎么在标签属性中插入变量参数

    这次给大家带来vue.js怎么在标签属性中插入变量参数,vue.js在标签属性中插入变量参数的注意事项有哪些,下面就是实战案例,一起来看一下。 html的标签的属性,比如id、class、href需要动态传递参数,拼接字符串,查了一些资料,…

    2025年3月8日
    200

发表回复

登录后才能评论