如何解决如何基于JS
我有一个对象数组:
[
{
Name:
likes:[]
...
}
]
我需要对没有喜欢的未定义对象的第一个对象进行排序,然后在likes数组中只有1个项目的对象然后在likes数组中有更多项目的其他对象。如何正确完成?
解决方法
function sortBy(selector) {
const cmp = (a,b) => (selector(a) - selector(b));
return list => list.sort(cmp);
}
const data = [{ Name: "Foo",likes:[{},{},{}] },{ Name: "Bar",likes:[{}] },{ Name: "Baz",{ Name: "Plugh",likes:[] }];
const sortByLikes = sortBy(({ likes }) => likes.length);
console.log(sortByLikes(data));
,
var temp = [
{
Name: "abc",likes: [1,2,3]
},{
Name: "ac",likes:[1]
},{
Name: "bc",likes:null
},{
Name: "c",likes:[1,3,4]
}
];
temp = temp.sort((a,b) => {
if(a.likes === undefined || a.likes === null)
return -1;
else if(b.likes === undefined || b.likes === null)
return 1;
else{
return a.likes.length - b.likes.length;
}
});
console.log(temp);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。