将字符串连接到数组的每个对象

时间:2017-12-27 12:45:18

标签: javascript arrays foreach

我有一个看起来像这样的数组:

myArray = [[EnterNode {name: "name1", _value_: 12.32 }],
           [EnterNode {name: "name2", _value_: 42.39 }],
           [EnterNode {name: "name3", _value_: 77.32 }],
           [EnterNode {name: "name4", _value_: 52.31 }],
           ...
]

我不知道EnterNode的含义,但这就是我在控制台中打印时的样子。

我希望每个_value_连接一个字符串,例如" kg",所以在这个过程之后,数组看起来像这样:

myArray = [[EnterNode {name: "name1", _value_: "12.32 kg" }],
           [EnterNode {name: "name2", _value_: "42.39 kg" }],
           [EnterNode {name: "name3", _value_: "77.32 kg" }],
           [EnterNode {name: "name4", _value_: "52.31 kg" }],
           ...
]

我试着这样做:

myArray.forEach(_value_ => _value_ + " kg")但我得到了undefined

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

  

myArray.forEach( value => value +“kg”)但我未定义为   结果

因为您没有将值保存回数组的每个项目的_value_属性

成功

myArray.forEach( obj => ( obj._value_ += " kg" ) ); 

观察迭代发生在数组的项而不是_value_

<强>演示

var myArray = [
   {name: "name1", _value_: 12.32 },
   {name: "name2", _value_: 42.39 },
   {name: "name3", _value_: 77.32 },
   {name: "name4", _value_: 52.31 }
];

myArray.forEach( obj => ( obj._value_ += " kg" ) ); 
 
console.log( myArray );