如何在javascript数组中找到相等元素的数量 [英] How to find the number of equal elements in javascript array
问题描述
我是JavaScript新手,所以请帮助我解决这个问题:
我有数组,我想获得相同数值的数目。我的数组是:
var arr = [red,blue,green,red,red ,灰色];
我想输出3,因为我有3个元素红色。
这就是我到目前为止所做的:
var numberOfSameElements = 0;
var arr = [red,blue,green,red,red,gray];
for(var i = 1; i< arr.length; i ++){
if(arr [i] === arr [i-1]){
numberOfSameElements ++;
}
}
console.log(numberOfSameElements);
我不断收到1.请告诉我我做错了什么。非常感谢!
在这里,您使用了一个循环,并使用之前的值检查了当前值。但你需要两个循环。
第一个会挑选一个值。第二个将把挑选的价值与其他所有价值相匹配。我使用了找到的
标志来检查是否已经找到重复值。试试这种方式,
var numberOfSameElements = 0;
var found = false;
var arr = [red,blue,green,red,red,gray]; (var j = 0; j if(arr [0]; i i] === arr [j]&& i!= j){
if(!found){
numberOfSameElements ++;
found = true;
}
}
}
found = false;
}
console.log(numberOfSameElements);
I'm new to JavaScript so please help me on this problem: I have array and I want to get the number of same values. My array is:
var arr = ["red", "blue", "green", "red", "red", "gray"];
I want to output 3 because I have 3 elements red.
This is what I have done so far:
var numberOfSameElements = 0;
var arr = ["red", "blue", "green", "red", "red", "gray"];
for(var i = 1 ; i <arr.length;i++){
if(arr[i] === arr[i-1]){
numberOfSameElements++;
}
}
console.log(numberOfSameElements);
I keep getting 1. Please tell me what I am doing wrong. Thank you so much!
Here you've used one loop and checked your current value with it's previous value. But you need actually two loops.
First one will pick a value. And second one will match the picked value with all others. I've used a found
flag that checks if a duplicate value has already been found or not. Try this way,
var numberOfSameElements = 0;
var found = false;
var arr = ["red", "blue", "green", "red", "red", "gray"];
for(var i = 0 ; i <arr.length;i++){
for(var j = 0; j < arr.length; j++){
if(arr[i] === arr[j] && i != j){
if(!found){
numberOfSameElements++;
found = true;
}
}
}
found = false;
}
console.log(numberOfSameElements);
这篇关于如何在javascript数组中找到相等元素的数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!