js 中数组的经常使用方法总结

js 中数组的经常使用方法总结

arr.fill('a');
//全部子元素 都改成 "a";数组

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

//后面八个元素 所有用 {} 代替;prototype

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

//后面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;it

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

区别是  indexof 没法判断NaN ;includes 能够;

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

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等不改变原数组

相关文章
相关标签/搜索