【发布时间】:2021-01-04 12:55:46
【问题描述】:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
按照文档所述 filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
根据文档下面的脚本应该控制台Learning
console.log(Arr[0].name) // 学习
var Arr = [{name:'Learning'},{name:'Questing'}]
var Arr2 = Arr.filter(it=> true);
Arr2[0].name = 'Stack-Over-Flow';
console.log(Arr[0].name) // Stack-Over-Flow
【问题讨论】:
-
它会创建一个新数组,但不会对数组内容进行深度复制。对象在原始数组和新数组中都被引用。
-
Arr2.pop()中的新数组不会影响Arr。对象还是一样的Arr[0] === Arr2[0]
标签: javascript arrays