【问题标题】:Check if element is in array twice time [duplicate]检查元素是否在数组中两次[重复]
【发布时间】:2017-03-11 09:18:52
【问题描述】:

我需要知道一个元素是两次还是多次出现在数组中。

var arr = [elm1,elm2,elm3,elm3,elm4,elm5,elm5,elm5,elm6,elm7] ;
if(elm is in array by many time ){
      // do some code with this element
}else{
      // other stuff ;;
}

有什么建议吗?

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    countInArray 函数可能是您的一个选择

    function countInArray(array, what) {
        return array.filter(item => item == what).length;
    }
    

    或者类似的东西,这可能对您更好地理解代码并在您想要的地方进行调整! :

    var list = [2, 1, 4, 2, 1, 1, 4, 5];  
    
    function countInArray(array, what) {
        var count = 0;
        for (var i = 0; i < array.length; i++) {
            if (array[i] === what) {
                count++;
            }
        }
        return count;
    }
    
    countInArray(list, 2); // returns 2
    countInArray(list, 1); // returns 3
    

    【讨论】:

    • 这是经典解决方案
    【解决方案2】:
    function check(){
    var arr =['1','2','3','3','4'];
      for (i=0; i<arr.length;i++){
        for (x=0;x<arr.length;x++){
          if(arr[i]==arr[x] && i != x){
            console.log('SAME ones in ARRAY: '+arr[i]);
          }else console.log('no same ones');
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-11-14
      • 2012-12-31
      • 1970-01-01
      • 2021-03-11
      • 2021-12-14
      • 2017-11-26
      • 1970-01-01
      相关资源
      最近更新 更多