javaScript中的find()方法和返回数据的内存指向

Posted 林中有风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript中的find()方法和返回数据的内存指向相关的知识,希望对你有一定的参考价值。

顾名思义就是 查找传入的对应数据

  • 当数组中的元素在测试条件时返回 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 所指向的内存地址

所有这里返回的是浅拷贝的数据

 

以上是关于javaScript中的find()方法和返回数据的内存指向的主要内容,如果未能解决你的问题,请参考以下文章

Array Find() 方法在搜索有关 URL 参数的数据时始终返回“未定义”

javascript 数组 find

find 和 map的应用

find 和 map的应用

数组find方法的使用

find()方法