Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Array.map()是否返回不同的实例对象?_Javascript_Arrays - Fatal编程技术网

Javascript Array.map()是否返回不同的实例对象?

Javascript Array.map()是否返回不同的实例对象?,javascript,arrays,Javascript,Arrays,如果我使用Array.map()将每个空元素替换为如下对象的实例 let arr = new Array(10).fill(null).map(() => new LinkedList()); 这会用相同引用的LinkedList()实例或不同引用替换每个元素吗?您将得到10个不同的新LinkedList()实例。 您可以通过检查console.log(arr[0]==arr[1])来验证映射函数是否会注意到它正在处理的数组中的现有值,因此必须为数组中的每个项调用它,并为每个项生成新值

如果我使用
Array.map()
将每个空元素替换为如下对象的实例

let arr = new Array(10).fill(null).map(() => new LinkedList());

这会用相同引用的
LinkedList()
实例或不同引用替换每个元素吗?

您将得到10个不同的
新LinkedList()实例。

您可以通过检查
console.log(arr[0]==arr[1])
来验证映射函数是否会注意到它正在处理的数组中的现有值,因此必须为数组中的每个项调用它,并为每个项生成新值

constdouble=value=>2*value;
常数加倍=[1,2,3]。映射(加倍);

控制台日志(加倍)它应该是不同的引用。

如果您在
arr[0]
中添加一个元素,并检查它是否也包含在所有其他引用中,那么您可以很容易地找到它,因为它不会替换任何内容。您正在循环10个元素的数组,并使用
newlinkedlist()
对象创建另一个数组。这就像(让i=0;i<10;i++)arr.push(newlinkedlist())