检查元素是否在数组中两次

Sop*_*lex -2 javascript arrays

我需要知道一个元素是否在数组中两次或多次.

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 ;;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议 ?

Ann*_*ine 10

countInArray函数可能是您的选项

function countInArray(array, what) {
    return array.filter(item => item == what).length;
}
Run Code Online (Sandbox Code Playgroud)

或者像这样的东西,这可能会更好地理解代码并调整你想要的东西!:

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
Run Code Online (Sandbox Code Playgroud)

  • 这是经典的解决方案 (2认同)