gpt4 book ai didi

javascript - 使用 array.map() 映射到另一个类

转载 作者:行者123 更新时间:2023-12-03 01:29:04 24 4
gpt4 key购买 nike

考虑这段代码:

class myClass {
constructor(obj) {
this.content = "mapped to myClass";
}
}

array = [{content:"first"},{content:"second"}];
array.map(o=> {o_mapped = new myClass(); return o_mapped} ); //1*
console.log(JSON.stringify(array));

array = array.map(o=> {o_mapped = new myClass(); return o_mapped} ); //2*
console.log(JSON.stringify(array));

我有这个输出,但我不知道为什么 2* 不像 1* 那样工作

[{"content":"first"},{"content":"second"}]
[{"content":"mapped to myClass"},{"content":"mapped to myClass"}]

为什么会发生这种情况?我已经使用 1* 版本对数组数据进行简单操作,并且它有效

最佳答案

map 返回新数组,它不会操作原始数组。

*2 之所以有效,是因为您重新分配 array,然后打印新数组。

如果您使用 map 只是为了迭代和执行副作用,就像使用 forEach 时那样,那么您不需要重新分配数组。

关于javascript - 使用 array.map() 映射到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51381752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com