我有對象的數組名,就像這樣:與布爾值排序對象
myArray = [
{name : 'foo'},
{name : 'bar'},
{name : 'Foo'}
]
我要排序這些字母數字對象的名字,並使用以下排序函數來進行:
myArray.sort(function(a,b){
return a.name > b.name;
});
這似乎是工作,但我無法找到在規範與問候什麼sort
應該如何當比較函數返回布爾值的功能。這似乎沒有遵循如下要求:如果a > b
返回大於零的值,則a < b
返回小於零的值,並且a === b
返回等於零的值。
我想知道的是,將使用一個函數返回一個布爾工作一致的跨瀏覽器排序?
一個聰明的方法來做到這一點:http://stackoverflow.com/questions/17387435/javascript-sort-array-of-objects-by-a-boolean-property –
我不能提供所有瀏覽器的證據,但我的假設是,它將任何值作爲數字轉換並將其捨棄('true | 0 == 1'),所以它很可能跨瀏覽器。 –