按具有虚假值的属性对数组对象进行排序-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 }
]
以上是 按具有虚假值的属性对数组对象进行排序-JavaScript 的全部内容, 来源链接: utcz.com/z/316605.html