【发布时间】:2016-10-27 16:52:14
【问题描述】:
我在我的对象数组上使用排序数组原型函数——按“min”键排序
function setStatesOrder(stateOrderArr){
return stateOrderArr.sort((x,y) => x.min - y.min);
}
但现在我想将对象数组中的第一个对象排除在排序之外。它具有“状态”键和“美国”值所以我试图排除这个对象,但它不起作用:
function setStatesOrder(stateOrderArr){
return stateOrderArr.sort((x,y) => {if(x.state !=="U.S."){x.min - y.min}});
}
stateOrderArr = [
{state: "U.S.", max: 1, min: -14, stateID: "US", final: 0.3},
{state: "Ohio", max: 5, min: -2, stateID: "OH", final: 5},
{state: "Georgia", max: 4, min: -5, stateID: "GA", final: -5},
{state: "Arizona", max: -1.5, min: -2, stateID: "AZ", final: -2}....]
【问题讨论】:
-
排除此对象是什么意思?也许您想在对列表进行排序之前先执行
filter。 -
你不能“把任何东西排除在外”。您必须定义它在排序之后应该具有的位置,当然可以是“在其他一切之前”。
-
您想将 first 对象排除在排序之外,还是要保留“U.S.”没有排序的对象,它恰好是这个特定示例数据集中的第一个对象?
标签: javascript arrays sorting ecmascript-6