javascript - 根据数组中的值将单个数组分成多个数组。 JavaScript

标签 javascript arrays

这是上一个关于分组的问题的延续。我在下面有一个结构文件和我想做的事情,而不是简单地隔离一个 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/

相关文章:

javascript - 如何在 NodeJS 中使用 aes-256-ecb 正确加密字符串并使用 OpenSSL 命令行解密?

java - 数组中的重复项无效输入

c - Perl、C、XS - 解压 float 组

c++ - 使用 MongoDB C++ 驱动程序处理通用 BSON 文档数组

javascript - 如果我在同一 View 上多次使用同一个 ng-include,如何为它提供不同的行为?

javascript - 如何使用 Node js 和 puppeteer 抓取图像 src url

javascript - 单击按钮将代码添加到JS

c++ - 类成员数组 : invalid type for array subscript 的实现

javascript - 选择小于数组中变量的最大数字

javascript - 首先显示工具提示并突出显示区域?