如何检查数组在Jquery中包含不同的值或相同的值

时间:2016-08-03 12:53:48

标签: javascript jquery

数组可以包含多个值。我想检查所有值是相同还是不同。

  

实施例

var a = [2, 4, 7, 2, 8];   // all values are not same
var b = [2, 2, 2, 2, 2];   // all values are same

如何在jquery中查看

5 个答案:

答案 0 :(得分:2)

您可以尝试这样:

var a = [2, 4, 7, 2, 8];  
var b = [2, 2, 2, 2, 2];

    function myFunc(arr){
        var x= arr[0];
        return arr.every(function(item){
            return item=== x;
        });
    }

alert(myFunc(a));
alert(myFunc(b));

请参阅MDN了解Array.prototype.every()

答案 1 :(得分:0)

检查此解决方案

function arrayUnique(array)
{
    function onlyUnique(value, index, self) { 
         return self.indexOf(value) === index;
    }

    var unique = array.filter( onlyUnique );

    return (unique.length == 1);
}   
// usage example:
var a = [2, 3, 2, 2, 2];
console.log('Array is unique : ' + arrayUnique(a)); 
// Array is unique : false

var b = [2, 2, 2, 2, 2];
console.log('Array is unique : ' + arrayUnique(b)); 
// Array is unique : true

答案 2 :(得分:0)

可以使用数组reduce:

Array.prototype.areAllTheSame = function() {
    if(!this.length)
        return false
    return this.reduce(function(p, c) {
        return [c, c==p[0] && p[1]]
    }, [this[0], true])[1]
}

var arr = [1,2,3,4]
var arr2 = [2,2,2,2]

arr.areAllTheSame() //-->false
arr2.areAllTheSame() //-->true

答案 3 :(得分:0)

您可以使用Jquery

中的not函数在一行中执行此操作
var test= $(a).not(b).length === 0;

JsFiddle示例

答案 4 :(得分:0)

如果您有权访问Set



var a = [2, 4, 7, 2, 8];
var b = [2, 2, 2, 2, 2];

function onlyOneValue(arr){
  return [...new Set(arr)].length < 2;
}

document.write(onlyOneValue(a) + '<br>');
document.write(onlyOneValue(b));
&#13;
&#13;
&#13;