代码之家  ›  专栏  ›  技术社区  ›  Leo Messi

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

  •  0
  • Leo Messi  · 技术社区  · 8 年前

    我有一个如下所示的数组:

    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 回复  |  直到 8 年前
        1
  •  1
  •   gurvinder372    8 年前

    myArray。forEach公司( 价值 => 价值 +“kg”)但我没有定义为 后果

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

    成功

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

    观察迭代发生在数组的项上,而不是 _价值观_

    演示

    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 );