使用javascript计算数组中每个数字的出现次数
我正在尝试计算数组中出现的数字的出现次数。使用javascript计算数组中每个数字的出现次数,javascript,Javascript,我正在尝试计算数组中出现的数字的出现次数。 逻辑 我已经有了一个包含数字的数组,所以我只想将唯一的数字推送到另一个数组中。我还有另一个数组,它包含每个数字的计数 代码: <html> <body> <script language="javascript" type="text/javascript"> <!-- var numbers = [ 2, 1, 2, 1, 3, 4, 2];
逻辑
我已经有了一个包含数字的数组,所以我只想将唯一的数字推送到另一个数组中。我还有另一个数组,它包含每个数字的计数
代码:
<html>
<body>
<script language="javascript" type="text/javascript">
<!--
var numbers = [ 2, 1, 2, 1, 3, 4, 2];
var count = [];
var newNumbers = [];
newNumbers[0] = numbers[0];
count[0] = 1;
for(var i = 1 ; i < numbers.length ; i++){
for(var j = 0 ; j < newNumbers.length ; j++){
if(numbers[i] == newNumbers[j]){
document.write("<br/>" + "Number Already Present" + " " +numbers[i]);
count[j] = count[j]++;
}else{
newNumbers.push(numbers[i]);
}
}
}
for(var j = 0 ; j < newNumbers.length ; j++){
document.write(newNumbers[j]);
}
//-->
</script>
</body>
</html>
请帮忙 如果使用对象,则更容易:
var count = {};
numbers.forEach(number => count[number] = (count[number] || 0) +1);
所以你可以
count[2]; //3 <= 2 appears 3/times
如果使用对象,则更容易:
var count = {};
numbers.forEach(number => count[number] = (count[number] || 0) +1);
所以你可以
count[2]; //3 <= 2 appears 3/times
用这个例子来指导自己@谢谢,没有什么帮助,但我还想要一个具有唯一数字的数组。@mayankbisht类似的东西?用这个例子来指导自己@谢谢,没有什么帮助,但我还想要一个具有唯一数字的数组。@mayankbisht类似的东西?我不懂逻辑,请解释。@mayankbisht哪部分逻辑你不懂?把它分解成单独的步骤,你应该得到启发。我不理解逻辑,请解释。@mayankbisht逻辑的哪一部分你不理解?把它分解成单独的步骤,你应该得到启发。