gpt4 book ai didi

javascript - 如何将新数组添加到另一个数组的特定对象中

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:43:06 25 4
gpt4 key购买 nike

我试图找到答案,但没有成功。

json数据的样本,假设它将被命名为ma​​inArray:

[{
"id": 4455,
"key1": 44,
"key2": 55
},
{
"id": 1122,
"key1": 11,
"key2": 22
}]

数据样本nestedArray需要添加到ma​​inArray:

[{
"nestedkey0": 'Value0',
"nestedkey1": "Value1",
"nestedkey2": "Value2"
},
{
"nestedkey0": "Value3",
"nestedkey1": "Value4",
"nestedkey2": "Value5"
}]

而且我们必须检查“id”键(在ma​​inArray)是否等于“specificId”变量:

 var specificId = 4455;

如果它们相等——我们需要将 nestedArray 添加到 ma​​inArray 的对象中作为对象列表的新键,因此返回的结果应该是这样的:

[{
"id": 4455,
"newKey": [{
"nestedkey0": 'Value0',
"nestedkey1": "Value1",
"nestedkey2": "Value2"
},
{
"nestedkey0": "Value3",
"nestedkey1": "Value4",
"nestedkey2": "Value5"
}];
"key1": 44,
"key2": 55
},
{
"id": 1122,
"key1": 11,
"key2": 22
}];

这是 Plunker 上的代码示例: https://plnkr.co/edit/YJ3lTbleKrBJBaJm7VwU?p=preview

我感觉应该不难,但是我对angularjs解决这个任务的经验还不够丰富。预先感谢您的回答!

更新

更新了 Plunker 中的代码,回答了 Nina Scholz(链接在上面)

还有来自 Halcyon 的另一个解决方案

http://jsbin.com/xaxagusuma/edit?html,js,console,output

感谢大家的帮助!

最佳答案

在纯 Javascript 中,您可以使用 Array.prototype.some()用于迭代,因为可能存在短路。

The some() method tests whether some element in the array passes the test implemented by the provided function.

var mainArray = [{ "id": 4455, "key1": 44, "key2": 55 }, { "id": 1122, "key1": 11, "key2": 22 }],
nastedArray = [{ "nastedkey0": 'Value0', "nastedkey1": "Value1", "nastedkey2": "Value2" }, { "nastedkey0": "Value3", "nastedkey1": "Value4", "nastedkey2": "Value5" }],
specificId = 4455;

mainArray.some(function (a) {
if (a.id === specificId) {
a.newKey = nastedArray;
return true;
}
});

document.write('<pre>' + JSON.stringify(mainArray, 0, 4) + '</pre>');

关于javascript - 如何将新数组添加到另一个数组的特定对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35869749/

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