首頁  >  問答  >  主體

javascript - js怎麼判斷數組的所有元素全都相等

js怎麼判斷數組的所有元素全都相等

仅有的幸福仅有的幸福2731 天前795

全部回覆(7)我來回復

  • 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;
        }
    }

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:44:28

    題主並沒有說是簡單陣列;如果陣列元素有Object等等,那上面的答案基本上都掛了。然後這個問題其實就變成瞭如何判斷兩個Object相等,然後又涉及遞歸……總之並沒有那麼簡單,爪機碼字就不多說了

    回覆
    0
  • 给我你的怀抱

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

    雷雷

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:44:28

    雷雷

    回覆
    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
             }

    回覆
    0
  • 大家讲道理

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

    要考慮物件的話可以參考Lodash的isEqual

    只考慮簡單類型:

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

    回覆
    0
  • 迷茫

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

    要不我抖個機靈?

    回覆
    0
  • 取消回覆