Immutable.jsorderedListをプロパティname
でソートしたいのですが、
data.map(x => x.get("name"))
は文字列を返します。マップを名前のアルファベット順に並べ替えます。
どうやってするか?私は試した:
return data.sortBy((val) => {
if (dir === "up") {
return val.get("name");
} else {
return - val.get("name");
}
});
var fiends = Immutable.fromJS([{name: 'Squirrel'}, {name: 'Cat'}, {name: 'Raccoon'}]);
var sorted = fiends.sortBy(
(f) => f.get('name')
);
sorted.map(x => x.get('name')).toJS(); // ["Cat", "Raccoon", "Squirrel"]
localCompare の場合:
fiends.sort(
(a, b) => a.get('name').localeCompare(b.get('name'))
);