我在这两种情况下都有ko.observableArray([])
10 字符串名称,希望它按排序顺序排列。
提前致谢!!
答案 0 :(得分:1)
我们需要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数组进行排序,因此员工[0]是&#34; Ashutosh&#34;员工1是&#34; Manisha&#34;等等。
在这里,我们将两个字符串a.name
与b.name
进行比较,并相应地返回-1, 1, or 0
进行排序,确切地说,sort()方法不明确地使用了公式而没有传入任何函数。< / p>
正如您刚刚发现的那样,在JavaScript中,您当然可以比较两个字符串(按字母顺序排列)。有关详细信息,请查看javascriptkit