配列には複数の値を含めることができます。私はすべての値が同じか違うかどうかチェックしたい。配列をチェックする方法は、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の中でそれを確認することができますどのように
配列には複数の値を含めることができます。私はすべての値が同じか違うかどうかチェックしたい。配列をチェックする方法は、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の中でそれを確認することができますどのように
:
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));
それが配列の削減使用可能ですArray.prototype.every()
'arr [0] === arr [0]をチェックする必要はないので、私はちょっと洗練されたものをお勧めします:' return arr.slice(1).every(v => arr [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
のためのMDNを参照してください:
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
あなたは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));
可能な重複[二つの配列が同じ値を持っているかどうかを知る方法](http://stackoverflow.com/questions/6229197/2つの配列が同じ値であることを知る方法)、[2つの配列がJavaScriptと等しいかどうかをチェックする方法](http://stackoverflow.com/questions/3115982/) 2つの配列をチェックする方法はjavascriptと同じです) –
簡潔にするためにunderscore.jsを使用して_difference([2,4,7,2,8]、[2 、2,2,2,2 ]); – sunil