splice()
向/从数组中添加/删除项目,然后返回被删除的项目。
该方法会改变原始数组。
splice(index,0,howmany,item1, ..., itemX)
第一个参数定义了应添加新元素的位置(拼接)。
第二个参数定义应删除多少元素。
其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。
splice() 方法返回一个包含已删除项的数组:
删除指定元素:
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
获取数组中对象所在的索引值:
let data = [{
id:1,
name:"小红"
},{
id:2,
name:"小明"
}];
data.indexOf(data.filter(d=>d.id == 1)[0]) //index:0
concat(val1,val2)
通过合并(连接)现有数组来创建一个新数组:
concat() 方法不会更改现有数组。它总是返回一个新数组。
concat() 方法可以使用任意数量的数组参数:
例如:
var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys); // 连接 myGirls 和 myBoys
获取数组并集、交集、差集
// 并集
let union = a.concat(b.filter(v => !a.includes(v))) // [1,2,3,4,5]
// 交集
let intersection = a.filter(v => b.includes(v)) // [2]
// 差集
let difference = a.concat(b).filter(v => a.includes(v) && !b.includes(v)) // [1,3]
slice()
用数组的某个片段切出新数组。
可接受两个参数,比如 (1, 3)。([1,3))
该方法会从开始参数选取元素,直到结束参数(不包括)为止。
注释:slice() 方法不会改变原始数组。
filter()
返回数组中所有符合条件的元素
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
参数为一个返回Boolean值的回调函数
map()
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
arr.map(item => {
item = ‘asd’
return item
})
find()
方法返回符合条件的第一个元素
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。