提示信息

Array.prototype.find() 得到的元素是引用类型的,还是复制了一个元素

旧藤椅 已关注

Array.prototype.find() 返回的是原数组中的元素引用,而不是复制的新元素。

在 JavaScript 中,对象(包括数组和函数)都是通过引用传递的。当你从数组中获取一个对象时,实际上获取的是对原对象的引用。因此,如果你修改了通过 Array.prototype.find() 获取的对象,原数组中对应的对象也会被修改。

例如:

  1. let arr = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }];
  2. let obj = arr.find(item => item.id === 1);
  3. obj.name = 'Updated'; // 修改找到的对象
  4. console.log(arr);
  5. // 输出:[ { id: 1, name: 'Updated' }, { id: 2, name: 'Bob' } ]
  6. // 可以看到原数组中的对象也被修改了
    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
旧藤椅 关注 已关注

最近一次登录:2024-01-02 15:41:51   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图