Array是前端工程师进行数据交互的重要类型,了解它的各个方法有利于我们写出高效简洁的代码。
1.Array.includes和Array.indexOf
let arr = [1,2,3,4,5];
console.log(arr.includes(2)); //true
console.log(arr.includes(6)); //false
console.log(arr.indexOf(2)); //1
console.log(arr.indexOf(6)); //-1
- 我们想知道数组是否包含某个值的时候,我们应该用Array.includes方法
- 我们想知道数组中某个值在数组中的位置时,我们应该用Array.indexOf方法
2.Array.find 和 Array.filter
let arr = [
{ id: 1, name: "Mike" },
{ id: 2, name: "Luck" },
{ id: 3, name: "John" }
]
console.log(
arr.filter( (value) => {
return value.id == 1
})
);
// [ { id: 1, name: 'Mike' } ]
console.log(
arr.find( (value) => {
return value.id == 1
})
);
// { id: 1, name: 'Mike' }
- Array.find返回的是数组某个值,Array.filter返回新的过滤后的数组
- 性能上讲,Array.find找到符合条件的第一个值就停止遍历数组,Array.filter不管有没有找到都会遍历整个数组,如果我们只想要一条数组里的记录,Array.find更合适
3.Array.some 和 Array.find
let arr = [
{ id: 1, name: "Mike" },
{ id: 2, name: "Luck" },
{ id: 3, name: "John" }
]
console.log(
arr.some( (value) => {
return value.id == 1
})
);
// true
console.log(
arr.find( (value) => {
return value.id == 1
})
);
// { id: 1, name: 'Mike' }
- 我们想知道数组中是否包含某个值并不是想要得到那个值的时候,我们应该用Array.some