0
我有這樣如何根據嵌套的屬性值n個數據進行排序的JavaScript
[{key:'A',map:[{
volume:2000,
year:2017
},{
volume:2000,
year:2018
}]
},
{key:'B',map:[{
volume:2000,
year:2017
},{
volume:1000,
year:2018
}]
},
{key:'C',map:[{
volume:2000,
year:2017
},{
volume:3000,
year:2018
}]
}
]
陣列現在我有一個基於體積或特定年份即上,如果我做的2018年量排序排序是我的結果應該是這樣的
[{key:'C',map:[{
volume:2000,
year:2017
},{
volume:3000,
year:2018
}]
},
{key:'A',map:[{
volume:2000,
year:2017
},{
volume:2000,
year:2018
}]
},
{key:'B',map:[{
volume:2000,
year:2017
},{
volume:1000,
year:2018
}]
}
]
我試圖用java腳本正常排序,但它並沒有幫助,請人讓我知道該怎麼做?
編輯1:這裏 是我的排序功能
sortedData = currentYearData.sort(
function(a,b){
let aData = a.map(data => data.map).filter(data => data.year === 2018);
let bData = b.map(data => data.map).filter(data => data.year === 2018);
if(aData.volume < bData.volume)
return 1;
if(bData.volume < aData.volume)
return -1;
else
return 0
}
);
你究竟做了什麼?請參閱'compareFunction'在這裏:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort – Walk
我已經刪除了該函數已寫入導致我的問題 – LowCool
分享你的'即使它不起作用,我也嘗試過。 – Walk