在 JavaScript 中将 false 对象推到底部
javascriptweb developmentfront end technologyobject oriented programming
假设我们有一个像这样的对象数组 −
const array = [ {key: 'a', value: false}, {key: 'a', value: 100}, {key: 'a', value: null}, {key: 'a', value: 23} ];
我们需要编写一个 JavaScript 函数,该函数接受一个这样的数组并将所有具有假值的对象放置在"值"中属性放到最底部,并按"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 } ]