1
一个地图以正确的方式我有一个地图m
:什么是排序他们的财产的子对象在Immutable.js
var m = Immutable.fromJS({
first: {a: 6, b: 3},
second: {a: 3, b: 6},
third: {a: 2, b: 4}
})
我想通过自己的财产b
排序在m
子对象,像这样:
[
{a: 6, b: 3},
{a: 2, b: 4},
{a: 3, b: 6}
]
我已经试过如下:
m.valueSeq().sort(function(a, b) {
return a.get('b') > b.get('b')
}).toJS()
它运作良好,在Chrome和node.js中,但在OS X中的Safari 8.0,结果是
[
{a: 6, b: 3},
{a: 3, b: 6},
{a: 2, b: 4}
]
它没有那种了!这在我的React/Redux应用程序中造成了一些错误。它的问题是什么?那么排序它的正确方法是什么?谢谢!
你应该返回一个布尔值,当你应该返回一个数字。 '返回a.get('b') - b.get('b')'。当“a”更大时,这返回一个正数。当“b”较大时,它返回一个负数,等于时返回“0”。 – 2016-09-18 13:58:15