脚本:
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
如何修改脚本以便我可以获得AB
1
出现的次数,或CS
1
出现在我的代码中以便在其他代码中使用功能
我只想知道vL2
中表示的每个vL1
的计数。关联vL1
非常重要,因为这样可以识别vL2
,因为它不是唯一的。
答案 0 :(得分:2)
你也可以这样做;
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);
&#13;
答案 1 :(得分:1)
var obj={};
function log(a){
if(obj[a]){
obj[a]++;
}else{
obj[a]=0;
}
}
然后做:
log(thing);
在你的for循环中,而不是:
console.log(obj);
Obj现在包含: AB1:3; ....
答案 2 :(得分:1)