How to check array contains different values ​​or same values ​​in jQuery

An array may contain multiple values. I want to check if the values ​​are the same or different.

Example

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

How can I check it in jquery

+4
source share
5 answers

You can try the following:

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));
Run codeHide result

See MDN for Array.prototype.every ()

+2
source

Check out this solution.

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
0
source

:

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
0

, JQuery

var test= $(a).not(b).length === 0;

JsFiddle

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));
Hide result
0

Source: https://habr.com/ru/post/1650036/


All Articles