Javascript 将属性值与“映射到对象数组”一起添加后更改该属性值无效

Javascript 将属性值与“映射到对象数组”一起添加后更改该属性值无效,javascript,angular,typescript,Javascript,Angular,Typescript,我有一个对象数组: 在数组中,我想向对象添加一个额外的属性 我使用map函数实现了这一点: returnArray = returnArray.map((obj) => { obj.active = "false"; return obj; }); 稍后,我想在一个单独的函数中将新属性“active”的值更改为一个新值(“true”)。 但由于某些原因,该值不会改变 如果更改原始数组中某个属性的值,则该值确实会更改 var array = getarrayfunction(); a

我有一个对象数组:

在数组中,我想向对象添加一个额外的属性

我使用map函数实现了这一点:

returnArray = returnArray.map((obj) => {
obj.active = "false"; 
return obj;
});

稍后,我想在一个单独的函数中将新属性“active”的值更改为一个新值(“true”)。 但由于某些原因,该值不会改变

如果更改原始数组中某个属性的值,则该值确实会更改

var array = getarrayfunction();
array[index].active = "test";              <-- Does not work
array[index].originalProperty = "test";    <-- Does work
var-array=getarrayfunction();

数组[index].active=“test” 用引号(obj['c']=“false”)将新属性分配给现有对象,如下所示。


你能解释一下它怎么不起作用吗?您是否收到错误,或者是否保留了旧值?如何以及在何处测试新旧结果?这里需要一些上下文。请给出一个返回示例。我添加了一些图片以进行澄清。请添加一个当前我们没有看到足够的代码。例如,最好是在stackblitz中重新创建该问题。它与我的“var returnArray”所在的位置有关。这解决了我的问题。但是谢谢你的帮助!
  var returnArray = [{'a':1,'b':'xxx'},{'a':1,'b':'true'}];

   $('button').click(function(){
     returnArray = returnArray.map((obj) => {
         obj['c'] = "false"; 
         return obj;
      });
      console.log(returnArray);
   })

  $('p').click(function(){
      returnArray[0]['c'] = 'test';
    console.log(returnArray);
  });