Maison > Questions et réponses > le corps du texte
Comment js détermine-t-il que tous les éléments d'un tableau sont égaux
phpcn_u15822017-05-19 10:44:28
Juger que tous sont égaux équivaut à juger que l'un d'entre eux n'est pas égal,
function isAllEqual(array){
if(array.length>0){
return !array.some(function(value,index){
return value !== array[0];
});
}else{
return true;
}
}
phpcn_u15822017-05-19 10:44:28
Le questionneur n'a pas dit qu'il s'agissait d'un simple tableau ; si les éléments du tableau incluent un objet, etc., alors la réponse ci-dessus échouera fondamentalement. Ensuite le problème devient en fait de savoir comment juger que deux Objets sont égaux, et puis cela implique une récursion... Bref, ce n'est pas si simple, donc je n'entrerai pas dans les détails du code machine à griffes.
给我你的怀抱2017-05-19 10:44:28
function compare(array1, array2)
{
(array1.length == array2.length) && array1.every(function(element, index) {
return element === array2[index];
})
}
漂亮男人2017-05-19 10:44:28
function test (arr) {
return arr.reduce((o, item) => (o.result = o.result && item === o.prev, o.prev = item, o), { result: true, prev: arr[0] }).result
}
曾经蜡笔没有小新2017-05-19 10:44:28
N'est-ce pas quelque chose qui peut être résolu en un seul cycle ?
var equals=function(arr){
var bool=true;
for(var i=1,len=arr.length;i<len;i++){
if(arr[i]!==arr[0]){bool=false}
}
return bool
}
大家讲道理2017-05-19 10:44:28
Si vous souhaitez considérer des objets, vous pouvez vous référer à isEqual
de LodashSeuls les types simples sont considérés :
var arr = [/*elements*/];
var isAllEqual = new Set(arr).size === 1;