两种方法不会改变原数组
该方法在第一次调用回调函数的时候就已经确定好索引,在find()方法执行之后再添加到的不会被执行,而删除的项通向会被执行到,值是undefined。
let a = [1,2,3,4,5,6,7,8,9]
(function(item,index,arr){
if(index == 0){
("10");
}
(item); // 1,2,3,4,5,6,7,8,9
})
(a) //(10) [1, 2, 3, 4, 5, 6, 7, 8, 9, "10"]
let a = [1,2,3,4,5,6,7,8,9]
let b = (function(item,index,arr){
if(index == 0){
();
}
(item);
})
find()方法用来查找目标元素,找到就返回该元素,找不到返回undefined。
let a= [1,2,3,4,5,6,7,8,9]
let b = ((item,index,array) => {return item > 5})
b //6
let b = ((item,index,arr) => {return item>10})
b //undefined
findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。
let a= [1,2,3,4,5,6,7,8,9]
let b = ((item,index,array) => {return item>5})
b // 5
let b = ((item,index,array) => {return item>10})
b // -1
如果你想在一串数据中找出你想要的数据,可以试试下面这个方法
let arr = [
{
name : "张三",
age : 20,
grade : 100,
},
{
name : "李四",
age : 26,
grade : 30,
},
{
name : "王五",
age : 46,
grade : 80,
}
]
function get(item) {
return == '王五'
}
((get));
// {name: "王五", age: 46, grade: 80}
方法摘自csnd上面想看原文,请猛戳