2016-06-23 12 views
-1

オブジェクトの配列をソートする際に助けが必要です。null値を持つプロパティで配列オブジェクトを並べ替える

オブジェクトがプロパティvalueを持って、それは私が降順で、この配列をソートしたいが、nullは常に最後に来るべき100 or 0 or null.

のいずれかを持つことができます。

例1

入力

array = [{key: a, value: 100},{key: a, value: null},{key: a, value: 0}] 

の予想される出力

array = [{key: a, value: 100},{key: a, value: 0},{key: a, value: null}] 

答えて

0

あなたはCHEC

array.sort(function(a,b){ 
    var valA = a.value == null ? Number.MAX_SAFE_INTEGER : a.value; 
    var valB = b.value == null ? Number.MAX_SAFE_INTEGER : b.value; 
    return valA - valB; 
}) 
+0

ブラウザのコンソールでそれを試して@simbada - 出力が '私のブラウザのコンソール上9007199254740991'です – gurvinder372

0

これを試すことができk値をソート値として使用する。

var array = [{key: 'a', value: 100},{key: 'a', value: null},{key: 'a', value: 0}]; 
 

 
array.sort(function (a, b) { 
 
    return (b.value === null ? Infinity : b.value) - (a.value === null ? Infinity : a.value); 
 
}); 
 

 
console.log(array);

関連する問題