资讯专栏INFORMATION COLUMN

js 中数组的常用方法总结

luckyw / 3070人阅读

摘要:在为的位置,删除个元素,插入删了为的元素,替换为删了为的元素数组的增删改都可以用完成返回从原数组中指定开始下标到结束下标之间的项组成的新数组该方法不会改变原始数组。不传值表示克隆了除了正常用法,经常用来将对象转换为。

js 中数组的常用方法总结

arr.fill("a");
//所有子元素 都改为 "a";

[{a: 1},{b: 2}, ...Array(8).fill({}, 0)]

//后面八个元素 全部用 {} 代替;

[{a: 1},{b: 2}, ...Array(8).fill({}, 0,5)]

//后面5 个元素用{}代替,其他是 undefined

arr.every(item=> item.age>20);
//如果数组中所有元素的age >20 ,返回true,否则返回false;

arr.some(item=> item.age>20);
//如果数组中有一个元素的age >20 ,返回true,否则返回false;

findIndex(),find( ) 和 filter()都是 匹配 item;
区别是 find 只找到第一个就停止, find 返回的是 符合的item
filter 返回所有匹配的item组成的数组;
findIndex 返回的是 item的index;

lastIndexOf() ,indexOf() 和 includes() 都是检查是否存在某个item;

 区别是  indexof 无法判断NaN ;includes 可以;

indexof 找不到返回 -1,找到返回index;
includes() 直接返回 true 或 false;
lastIndexOf() 从字符后面开始查找,返回 最后一个匹配的index,找不到 就返回 -1;

pop():删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined,改变原数组
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined,改变原数组
unshift:将参数添加到原数组开头,并返回数组的长度,改变原数组
push:将参数添加到原数组末尾,并返回数组的长度,改变原数组
concat:返回一个新数组,是将参数添加到原数组中构成的,不改变原数组;

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组。
arr.splice(2,0,"a") 在index为2的位置,删除0 个元素,插入 "a";
arr.splice(2,1,"a") 删了index 为2 的元素,替换为 "a";
arr.splice(2,1,"a") 删了index 为2 的元素;
数组的增删改 都可以用splice 完成;

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组,该方法不会改变原始数组。
var arr2 = arr.slice() ; 不传值表示 克隆了 arr2;
除了正常用法,slice 经常用来将 array-like 对象转换为 true array。在一些框架中会经常有这种用法:

Array.prototype.slice.call(arguments);//将参数转换成真正的数组.

reverse:将数组反序
sort((a,b)=>a-b):按指定的参数对数组进行排序 return a-b 升序 b-a 降序

例如: var arr=[{name:"a",age:21},{name:"b",age:12},{name:"c",age:2},{name:"d",age:42},{name:"e",age:1}]
按照age 从小到大排序

arr = arr.sort(function (a,b) {
   return a.age>b.age
   })
console.log(arr)

arr.join(";") 方法用于把数组中的所有元素放入一个字符串,;隔开。
str.split(";") 字符串转数组,以‘;’区分;

arr.forEach(item=>{})
遍历数组,它不能停止循环;

reduce()

改变原数组的:

shift:将第一个元素删除并且返回删除元素,空即为undefined
unshift:向数组开头添加元素,并返回新的长度
pop:删除最后一个并返回删除的元素
push:向数组末尾添加元素,并返回新的长度
reverse:颠倒数组顺序
sort:对数组排序
splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回
不改变原数组的:

concat:连接多个数组,返回新的数组
join:将数组中所有元素以参数作为分隔符放入一个字符
slice:slice(start,end),返回选定元素
map,filter,forEach,some,every等不改变原数组

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95145.html

相关文章

  • JS 数组常用API方法和遍历方法总结

    摘要:数组语法功能遍历数组,返回回调返回值组成的新数组,不改变原数组,不会对空数组进行检测语法功能无法,可以用中来停止,不改变原数组语法功能过滤,返回过滤后的数组,不改变原数组,不会对空数组进行检测语法功能有一项返回,则整体为,不改变原数组语法 数组 (array) ES5 * map 语法:[].map(function(item, index, array) {return xxx})功...

    TNFE 评论0 收藏0
  • JS总结篇--[总结]JS常用方法与片段

    摘要:元素是通过指定的分隔符进行分隔的。返回值一个字符串数组,执行的操作与执行的操作是相反的。返回值与没有参数的方法返回的字符串相同。 1.javascript删除元素节点 IE中有这样一个方法:removeNode(),这个方法在IE下是好使的,但是在Firefox等标准浏览器中就会报错了 removeNode is not defined,但是在核心JS中有一个操作DOM节点的方法叫:r...

    spacewander 评论0 收藏0
  • JS数组去重总结

    摘要:数组去重,一般会在面试的时候才会碰到,要求手写数组去重方法的代码。在实际项目中碰到的数组去重,一般都是后台去处理,很少让前端处理数组去重。数组去重的方法一利用去重中最常用如果不考虑兼容性,这种去重的方法代码最少。 数组去重,一般会在面试的时候才会碰到,要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你能答出其中的10种,面试官很有可能对你刮目相看。 在实际项目中碰到的...

    whinc 评论0 收藏0
  • javascriptArray常用方法总结

    摘要:函数接受个参数前一个值,当前值,项索引,数组本身。更多数组方法请看 js内置对象之Array 一,会改变原数组 1.移除数组末尾最后一项.pop() 返回删除的元素 如果你在一个空数组上调用 pop(),它返回 undefined let word = [a, b, c, d]; let newArr = word.pop(); console.l...

    harriszh 评论0 收藏0

发表评论

0条评论

luckyw

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<