这是上一个关于分组的问题的延续。我在下面有一个结构文件和我想做的事情,而不是简单地隔离一个 id 我想遍历整个数组(想象 1000 多个 id)并为每个数组创建单独的数组,然后我可以做进一步的工作。因此,在下面的示例中,id1 将在一个数组中组合在一起,而 id2 将在另一个数组中组合在一起。一旦我将每个 ID 分离到一个单独的数组中,我将继续根据一组条件进一步过滤每个 ID。
[{col1: 'id1', col2: '123', col3: '12/01/12'},
{col1: 'id1', col2: '100', col3: '12/01/12'},
{col1: 'id2', col2: '-100', col3: '12/01/12'},
{col1: 'id2', col2: '123', col3: '13/01/12'}]
.
如果您能提供有关分解数组的最佳方法以及如何调用各个 ID 数组的任何建议,我们将不胜感激。
提前致谢
最佳答案
您可以使用给定的 id 作为对象的键并将项目收集到自己的数组中。
var data = [{ col1: 'id1', col2: '123', col3: '12/01/12' }, { col1: 'id1', col2: '100', col3: '12/01/12' }, { col1: 'id2', col2: '-100', col3: '12/01/12' }, { col1: 'id2', col2: '123', col3: '13/01/12' }],
object = data.reduce(function (r, o) {
r[o.col1] = r[o.col1] || [];
r[o.col1].push(o);
return r;
}, Object.create(null));
console.log(object);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 根据数组中的值将单个数组分成多个数组。 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698862/