An array can contains multiple values. I want to check whether all the values are 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
An array can contains multiple values. I want to check whether all the values are 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
You can try like this:
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)); See the MDN for Array.prototype.every()
return arr.slice(1).every(v => arr[0]); on the grounds there's no need to check if arr[0] === arr[0]; but it's a micro-optimisation at best; and might not be an optimisation at all, if it takes longer to slice the array than it does to needlessly compare the first array element to itself.Check 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 It's possible using an array 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