【发布时间】:2018-03-09 15:55:03
【问题描述】:
我在 javascript 中有以下类型的数组:
var fruits = [{id: 'apple', field1: 'value1', field2: 'value2'},
{id: 'orange', field1: 'value1', field2: 'value2'},
{id: 'banana', field1: 'value1', field2: 'value2'},
{id: 'apple', field1: 'value1', field2: 'value2'},
{id: 'apple', field1: 'value1', field2: 'value2'},
{id: 'banana', field1: 'value1', field2: 'value2'},
{id: 'orange', field1: 'value1', field2: 'value2'}
];
我想迭代这个数组并将值存储在另一个关联数组中,新数组如下所示:
var fruits = {
apple: [{id: 'apple', field1: 'value1', field2: 'value2'},
{id: 'apple', field1: 'value1', field2: 'value2'},
{id: 'apple', field1: 'value1', field2: 'value2'}
],
orange: [{id: 'orange', field1: 'value1', field2: 'value2'},
{id: 'orange', field1: 'value1', field2: 'value2'}
],
banana: [{id: 'banana', field1: 'value1', field2: 'value2'},
{id: 'banana', field1: 'value1', field2: 'value2'}
]
}
我尝试了以下操作,但没有按预期工作:
var outputArray = [];
$.each(fruits, function (index, fruit)
{
var key = fruit.id;
outputArray[key][outputArray[key].length] = fruit;
//outputArray[key][] = fruit; // this is also not working
});
有人可以帮助编写代码以在 javascript 中将第一个数组转换为第二个数组吗?我可以在 PHP 中轻松地进行这种转换,但无法找到在 javascript 中完成相同工作的方法。这里是JSFiddle。
【问题讨论】:
-
请代码库。并告诉我们你卡在哪里
-
正如它现在所写的,这是一个“给我代码”的问题。向我们展示您是如何尝试的。如果您使用的是Lodash, this is pretty simple。
-
请确保在 Minimal, Complete, and Verifiable example 中包含 您的 当前代码,以展示当前问题。所以我们可以帮助(不是为你做的)
-
冷静下来 :) 请检查更新的问题。
标签: javascript arrays