gpt4 book ai didi

javascript - 使用映射或任何其他方法转换数组 - javascript

转载 作者:行者123 更新时间:2023-11-28 13:03:00 25 4
gpt4 key购买 nike

这是我的 json 对象:

{
id: 3,
cno: 103,
username: 'basha',
name: 'New Complaint',
desc: 'Need bag',
storeId: [ 5, 1 ]
}

我想要这样的预期输出:

[
{id: 3,cno: 103,username: 'basha',name: 'New Complaint',desc: 'Need bag',storeId:5},
{id: 3,cno: 103,username: 'basha',name: 'New Complaint',desc: 'Need bag',storeId:1}
]

最佳答案

您选择.map是正确的。问题是,您正在尝试更新对象,并且对象是使用引用传递的。所以所有的对象都将拥有相同的 id。您必须创建一个副本,以免覆盖值。您可以使用Object.assign为此。

var data = {
id: 3,
cno: 103,
username: 'basha',
name: 'New Complaint',
desc: 'Need bag',
storeId: [ 5, 1 ]
};

var result = data.storeId.map(function(id){
return Object.assign({}, data, {storeId: id});
});
console.log(result)

如果您不习惯使用 ES6 功能,您可以检查以下内容:How do I correctly clone a JavaScript object?

关于javascript - 使用映射或任何其他方法转换数组 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49043327/

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