JavaScript修改了原始JSON中的一些值



我有:

const parsedData = [
{ id: 1, key: 'asdas'},
{ id: 2, key: 'asdas'},
]
parsedData.map((item, i) => ({
...item,
key: `modified ${item.key}`
}));
console.log(parsedData);

我想让parsedData数组修改并得到:

[
{ id: 1, key: 'modified asdas'},
{ id: 2, key: 'modified asdas'},
]

但是我在console。log

中得到了相同的数组

地图将返回一个新的数组需要捕捉它在不同变量

const parsedData = [
{ id: 1, key: 'asdas'},
{ id: 2, key: 'asdas'},
]
const newData = parsedData.map((item, i) => ({
...item,
key: `modified ${item.key}`
}));
console.log(newData);

map返回修改后的数组;它不会改变原文件

你应该记录map返回的结果:

const parsedData = [
{ id: 1, key: 'asdas'},
{ id: 2, key: 'asdas'},
]
let res = parsedData.map((item, i) => ({
...item,
key: `modified ${item.key}`
}));
console.log(res);

或者,可以使用forEach:

const parsedData = [
{ id: 1, key: 'asdas'},
{ id: 2, key: 'asdas'},
]
parsedData.forEach((item, i) => (parsedData[i] = {
...item,
key: `modified ${item.key}`
}));
console.log(parsedData);

最新更新