如何从数组中删除这样的条目
- _id=0
- _id = ""
- _id = 未定义
- _id = null
然后排序并将输出限制为仅 7 个成本最高的项目?
MyArray
[
{_id : "" , M : "4", S : "2", Costs: "6"},
{_id : "0", M : "1", S : "0", Costs: "1"},
{_id : "1", M : "1", S : "0", Costs: "1"},
{_id : "2", M : "1", S : "0", Costs: "1"},
{_id : "3", M : "0", S : "3", Costs: "3"},
{_id : "4", M : "1", S : "0", Costs: "1"},
{_id : "5", M : "1", S : "0", Costs: "5"},
{_id : "6", M : "1", S : "0", Costs: "2"},
{_id : "7", M : "1", S : "0", Costs: "5"},
{_id : "8", M : "1", S : "0", Costs: "1"},
{_id : "9", M : "1", S : "0", Costs: "10"}
]
DESIRED OUTPUT
[
{_id : "9", M : "1", S : "0", Costs: "10"},
{_id : "7", M : "1", S : "0", Costs: "5"},
{_id : "5", M : "1", S : "0", Costs: "5"},
{_id : "3", M : "0", S : "3", Costs: "3"},
{_id : "6", M : "1", S : "0", Costs: "2"},
{_id : "1", M : "1", S : "0", Costs: "1"},
{_id : "2", M : "1", S : "0", Costs: "1"}
]
最佳答案
你可以filter
然后sort
然后slice
将它们链接如下。
var result = arr.filter(function(doc){
return !!parseInt(doc._id);
}).sort(function(a,b){
return (parseInt(b.Costs) - parseInt(a.Costs));
}).slice(0,7);
关于javascript - 从数组中删除无效键,并以最高值进行排序和限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35901095/