条件为真的次数[javascript]

时间:2018-01-11 03:38:55

标签: javascript loops if-statement

这可能是一个非常棒的问题。我试图搜索,但可能我不是要谷歌正确的话。

我想得到的是:

的次数

- 数字3存在

-number 2存在

-number 43存在

如果数组有固定值,我可以手动完成,但问题是数组会发生很大变化,数字完全不同。

如果文字不够明确,我会在这里留下一个img:D

enter image description here

var a = [2,3,3,3,2,43];
var t = [...new Set(a)];

for ( var k = 0, l = t.length; k < l; k ++ ) {
	for ( var i = 0, l = a.length; i < l; i ++ ) {
	
		if (a[i] == t[k]) {
	
		console.log(k);		
	}
};

};

2 个答案:

答案 0 :(得分:2)

您可以尝试使用此代码。基本上,您只需循环遍历数字数组,然后计算出现次数。

let counts = {};
let nums = [2,3,3,3,2,43];

for(let num of nums) {
  counts[num] = (counts[num] || 0) + 1;
}
console.log(counts);

答案 1 :(得分:-1)

谢谢你的回答。工作完美。我刚刚更改了console.log行。所以,如果有人来到这里,他们会得到我想要的100%。

非常感谢刘易斯

let counts = {};
let nums = [2,3,3,3,2,43];

for(let num of nums) {
  counts[num] = (counts[num] || 0) + 1;
}

console.log(Object.values(counts));