suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – So ermitteln Sie, ob alle Elemente eines Arrays in js gleich sind

Wie stellt js fest, dass alle Elemente eines Arrays gleich sind?

仅有的幸福仅有的幸福2816 Tage vor871

Antworte allen(7)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-05-19 10:44:28

    判断全相等价于判断其中一个不等、

    function isAllEqual(array){
        if(array.length>0){
           return !array.some(function(value,index){
             return value !== array[0];
           });   
        }else{
            return true;
        }
    }

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:44:28

    题主并没有说是简单数组;如果数组元素有Object等等,那上面的答案基本都挂了。然后这个问题其实就变成了如何判断两个Object相等,然后又涉及递归……总之并没有那么简单,爪机码字就不多说了

    Antwort
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-19 10:44:28

    function compare(array1, array2) 
    {
    (array1.length == array2.length) && array1.every(function(element, index) {
        return element === array2[index]; 
    })
    }

    Antwort
    0
  • 漂亮男人

    漂亮男人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
    }

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:44:28

    这不是一个循环就能解决的事?

    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
             }

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:44:28

    要考虑对象的话可以参考Lodash的isEqual

    只考虑简单类型:

    var arr = [/*elements*/];
    
    var isAllEqual = new Set(arr).size === 1;

    Antwort
    0
  • 迷茫

    迷茫2017-05-19 10:44:28

    要不我抖个机灵?

    Antwort
    0
  • StornierenAntwort