gpt4 book ai didi

javascript - 我如何做一个数组组并对其进行计数,就像在 MySQL 中按给定列 id 分组一样?

转载 作者:行者123 更新时间:2023-11-30 17:14:46 25 4
gpt4 key购买 nike

我有一个大数组,如下所示,现在我需要按第一列进行分组并计算该 channel 存在的总数。

例如:

var original_db = [
["channel1", "online"],
["channel2", "offline"],
["channel3", "online"],
["channel1", "online"],
["lot more"]....
]

原始结果的预期结果需要是:

var custom_db = [
["channel1", 2],
["channel2", 0],
["channel3", 1]
]

编辑:

for(var key in original_db) {
var i;
for (i = 0; i < original_db.length; i += 1) {
if (original_db[i][0] === original_db[key][0]) {
original_db.splice(i, 1);
return;
}
}

}

console.log(original_db);

最佳答案

使用一个属性是第一个元素的对象来保持计数:

var counts = {};

for (var i = 0; i < original.length; i++) {
var key = original[i][0];
if (counts[key]) {
counts[key]++;
} else {
counts[key] = 1;
}
}

然后你可以把它变成你的最终数组,虽然我不确定为什么你更喜欢它而不是 counts 对象:

final = [];
for (var key in counts){
final.push([key, counts[key]]);
}

关于javascript - 我如何做一个数组组并对其进行计数,就像在 MySQL 中按给定列 id 分组一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26323356/

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