替换Javascript中的数组元素会产生意外的结果

替换Javascript中的数组元素会产生意外的结果,javascript,Javascript,我试图用它们的替代品(特定对象)替换数组元素(通用对象),但原始数组中的对象保持不变 类特定对象{ } this.Objects=[{},{}]; this.Objects.map((签名者,索引)=>{ //将json泛型转换为js对象 this.Objects[索引]=新的SpecificObject(签名者); }); console.log(this.Objects)迭代集合时,无需修改集合。只需从贴图中返回对象即可 this.Objects = this.Objects.map((s

我试图用它们的替代品(特定对象)替换数组元素(通用对象),但原始数组中的对象保持不变

类特定对象{
}
this.Objects=[{},{}];
this.Objects.map((签名者,索引)=>{
//将json泛型转换为js对象
this.Objects[索引]=新的SpecificObject(签名者);
});

console.log(this.Objects)迭代集合时,无需修改集合。只需从
贴图中返回对象即可

this.Objects = this.Objects.map((signer,index) => new SpecificObject(signer));

在迭代集合时,无需修改集合。只需从
贴图中返回对象即可

this.Objects = this.Objects.map((signer,index) => new SpecificObject(signer));

您没有正确使用
map
。您应该只返回箭头函数中的对象
map
实际上返回新数组,其中包含通过应用您提供的函数创建的元素。因此,您还必须重新分配result ot
this.Objects

this.Objects = this.Objects.map(signer => {
   //convert json generics to js objects
   return new SpecificObject(signer);
})

您没有正确使用
map
。您应该只返回箭头函数中的对象
map
实际上返回新数组,其中包含通过应用您提供的函数创建的元素。因此,您还必须重新分配result ot
this.Objects

this.Objects = this.Objects.map(signer => {
   //convert json generics to js objects
   return new SpecificObject(signer);
})

要返回数组时使用Map。您可以使用forEach来完成您要做的事情。但我觉得这样会更好

this.Objects = this.Objects.map(signer => new SpecificObject(signer))

要返回数组时使用Map。您可以使用forEach来完成您要做的事情。但我觉得这样会更好

this.Objects = this.Objects.map(signer => new SpecificObject(signer))

你的代码是正确的。什么是日志记录?请注意,SO代码段控制台并不完美。在单击Run之前打开Chrome devtools(或类似工具),您应该可以在devtools控制台中看到预期的结果。()您的代码是正确的。什么是日志记录?请注意,SO代码段控制台并不完美。在单击Run之前打开Chrome devtools(或类似工具),您应该可以在devtools控制台中看到预期的结果。()