在 JavaScript 中將偽物件推入底部


假設我們有一個這樣的物件陣列 −

const array = [
   {key: 'a', value: false},
   {key: 'a', value: 100},
   {key: 'a', value: null},
   {key: 'a', value: 23}
];

我們需要編寫一個 JavaScript 函式,該函式輸入一個這樣的陣列,並將所有“value”屬性為假值的物件置於底部,並按“value”屬性降序排列所有其他物件。

因此,讓我們編寫此函式的程式碼 −

示例

程式碼為 −

const arr = [
   {key: 'a', value: false},
   {key: 'a', value: 100},
   {key: 'a', value: null},
   {key: 'a', value: 23}
];
const isValFalsy = (obj) => !obj.value && typeof obj.value !== 'number';
const sortFalsy = arr => {
   arr.sort((a, b) => {
      if(isValFalsy(a) && isValFalsy(b)){
         return 0;
      }
      if(isValFalsy(a)){
         return 1;
      };
      if(isValFalsy(b)){
         return -1;
      };
      return b.value - a.value;
   });
};
sortFalsy(arr);
console.log(arr);

輸出

控制檯中的輸出為 −

[
   { key: 'a', value: 100 },
   { key: 'a', value: 23 },
   { key: 'a', value: false },
   { key: 'a', value: null }
]

更新於:21-Oct-2020

118 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.