どちらの場合も10 個ko.observableArray([])
の文字列名を持っているので、並べ替えたいと思います。
前もって感謝します !!
どちらの場合も10 個ko.observableArray([])
の文字列名を持っているので、並べ替えたいと思います。
前もって感謝します !!
配列をアルファベット順にソートする必要がありmanually define the comparison function
ます。これにより、この文字列データがどこにあるかを指定できます。以下をご覧ください: DEMO
javascript
それを達成するために使用し、
var temp = users().sort(function (a, b) {
var nameA = a.First.toLowerCase(),//Here 'First' is the attribute present in users()
nameB = b.First.toLowerCase()
if (nameA < nameB) //sort string ascending
return -1
if (nameA > nameB)
return 1
return 0 //default return value (no sorting)
})
あなたの場合、それは次のようになります:-
vm.allUsers().sort(function (a, b) {
var nameA = a.Name.toLowerCase(),
nameB = b.Name.toLowerCase()
if (nameA < nameB) //sort string ascending
return -1
if (nameA > nameB)
return 1
return 0 //default return value (no sorting)
});
これにより、employees 配列が name プロパティの昇順で並べ替えられるため、employee[0] は「Ashutosh」、employee 1は「Manisha」などになります。
ここでは、2 つの文字列a.name
を比較し、それに応じてb.name
いずれかを返します-1, 1, or 0
。これは、関数が渡されずに sort() メソッドによって非明示的に使用される式とまったく同じです。
お気づきかもしれませんが、JavaScript では 2 つの文字列を (アルファベット順に) 比較できます。詳細については、javascriptkitを参照してください。