gpt4 book ai didi

javascript - Object.assign() 用于替换 json 的对象

转载 作者:行者123 更新时间:2023-11-28 16:58:17 24 4
gpt4 key购买 nike

我的 JSON 看起来像这样:

{
"ArrayInfo": [
{
"name": "A",
"Id": "1"
},
{
"name": "B",
"Id": "2"
},
{
"name": "C",
"Id": "3"
},
{
"name": "D",
"Id": "4"
}
]
}

我想用另一个对象替换 JSON 对象。例如我有这个对象:

{"name":"E","Id":"5"}

它将被 JSON 对象替换:

{"name":"B","Id":"2"}

JSON 应该如下所示:

{
"ArrayInfo": [
{
"name": "A",
"Id": "1"
},
{
"name": "E",
"Id": "5"
},
{
"name": "C",
"Id": "3"
},
{
"name": "D",
"Id": "4"
}
]
}

我所做的是使用Object.assign,但新对象将被添加到数组中而不是替换。(所有数据都是动态的,但为了更容易理解,我使用静态数据)

const itemToReplace = { "name": "E", "Id": "5" };
const prevItem = ArrayInfo[2]
ArrayInfo = ArrayInfo.map((el, idx) => {
return Object.assign({}, el, { prevItem: itemToReplace });
});
let NewArryInfo = ArrayInfo
console.log(NewArryInfo)

console.log(NewArryInfo)的结果:

{
"ArrayInfo": [
{
"name": "A",
"Id": "1"
},
{
"name": "B",
"Id": "2"
},
{
"name": "C",
"Id": "3"
},
{
"name": "D",
"Id": "4"
}
{
"name": "E",
"Id": "5"
}
]
}

最佳答案

您可以使用Array.prototype.splice来替换Array中的项目。

const replaceItem = {"name":"E","Id":"5"}
const ArrayInfo = [
{
"name": "A",
"Id": "1"
},
{
"name": "B",
"Id": "2"
},
{
"name": "C",
"Id": "3"
},
{
"name": "D",
"Id": "4"
}
];
ArrayInfo.splice(1, 1, replaceItem); // remove second item and replace
console.log(ArrayInfo);

关于javascript - Object.assign() 用于替换 json 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58447792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com