如何在javascript数组中找到相等元素的数量 [英] How to find the number of equal elements in javascript array

查看:83
本文介绍了如何在javascript数组中找到相等元素的数量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是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);

jsFiddle


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);

jsFiddle

这篇关于如何在javascript数组中找到相等元素的数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆