网络编程 发布日期:2025/11/3 浏览次数:1
顾名思义就是 查找传入的对应数据
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
// 定义一个需要被查找的数组
var memoList = [{
id: 1, name: '1'
},{
id: 2, name: '2'
},{
id: 3, name: '3'
}]
// 用 editItem 变量将 查找出来的数据进行接收
var editItem = memoList.find((ele) => {
return ele.id == 2
})
// 打印 editItem 得到的结果是 {id: 2, name: '2'}
这看起来和没什么区别呀。。。
但是~~
// 我们修改 接收后的值 editItem 的值
editItem.name = '我是修改后的'
// 我们再打印一下 editItem
console.log( editItem ) // {id: 2, name: '我是修改后的'}
感觉很正常嘛~
然后我们再打印一下 被查找的数据 memoList
console.log(memoList)
// [{id: 1, name: "1"}, {id: 2, name: "我是修改后的"}, {id: 3, name: "3"}]
// 看得没 memoList 内的数据也被修改了
这里就反应出 fine() 方法返回的结果内存指向依然是 memoList 所指向的内存地址
所有这里返回的是浅拷贝的数据
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
浏览器支持
表格中的数字表示支持该方法的第一个浏览器版本号。
注意: IE 11 及更早版本不支持 find() 方法。
array.find(function(currentValue, index, arr),thisValue)
参数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。