javascript - 如何像开发者控制台一样计算数组中的项目数

标签 javascript arrays

脚本:

vL1 = ["AB", "AB", "AB", "AB", "AB", "CS", "CS", "CS", "ND", "ND"];
vL2 = ["1",  "1",  "1",  "2",  "3",  "1",  "1",  "2",  "1",  "1"];

for(var i = 0; i < vL1.length; i++){
    thing = vL1[i] + " " + vL2[i];
    console.log(thing);
}

当我检查开发者控制台时,我看到以下内容:

(3) AB 1
    AB 2
    AB 3
(2) CS 1
    CS 2
(2) ND 1

如何修改脚本,以便获得 AB1 出现的次数或 CS1 出现在我的代码中要在其他函数中使用吗?

我只想知道 vL1 中表示的每个 vL2 的计数。关联 vL1 非常重要,因为这可以让我识别 vL2,因为它不是唯一的。

最佳答案

您也可以执行以下操作;

var vL1 = ["AB", "AB", "AB", "AB", "AB", "CS", "CS", "CS", "ND", "ND"],
    vL2 = ["1",  "1",  "1",  "2",  "3",  "1",  "1",  "2",  "1",  "1"],
 result = vL1.reduce((p,c,i) => p[c] ? (p[c][vL2[i]] = p[c][vL2[i]] ? ++p[c][vL2[i]]
                                                                    : 1, p)
                                     : (p[c] = {[vL2[i]]: 1}, p), {});
console.log(result);

关于javascript - 如何像开发者控制台一样计算数组中的项目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39642535/

相关文章:

javascript - 同时显示不同 div 中选定复选框的值并求和

没有值的 JavaScript 克隆

javascript - 按 Esc 按钮后恢复为原始 html

javascript - 使用 JavaScript 绘图

javascript - 数组推送创建一个新数组,我只是想向原始数据添加一条记录

c++ - v8:对象数组

javascript - 这会造成任何安全漏洞吗?

java - 二分查找歌曲数组中的歌曲年份

c - 错误: assignment to expression with array type

javascript - ember js中push和pushObject的区别