我有一个 json 数组,我想在其中更新某个虚拟键的值。这是我的代码。
var data = [{
"name": "Abc1"
}, {
"name": "Abc1"
}, {
"name": "Abc1"
}, {
"name": "Abc1"
}, {
"name": "Abc1"
}]
var temp = JSON.parse(JSON.stringify(data)).forEach(item => item.name = 'Hi');
console.log(temp);Run Code Online (Sandbox Code Playgroud)
我得到输出,undefined 但我希望所有的name值都是Hi
我哪里错了?
Array.forEach确实返回,undefined所以你不会得到数组。
在您的情况下,请使用Array.prototype.map.
var data = [{
"name": "Abc1"
}, {
"name": "Abc1"
}, {
"name": "Abc1"
}, {
"name": "Abc1"
}, {
"name": "Abc1"
}]
var temp = JSON.parse(JSON.stringify(data)).map(item => ({ ...item, name: 'Hi' }));
console.log(temp);Run Code Online (Sandbox Code Playgroud)