我在这两种情况下ko.observableArray([])
都有10 个字符串名称,希望它按排序顺序排列。
提前致谢 !!
我在这两种情况下ko.observableArray([])
都有10 个字符串名称,希望它按排序顺序排列。
提前致谢 !!
我们需要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)
});
这将按 name 属性升序对employees 数组进行排序,因此employee[0] 是“Ashutosh”,employee 1是“Manisha”,依此类推。
在这里,我们比较两个字符串并相应a.name
地b.name
返回-1, 1, or 0
排序,这正是 sort() 方法不明确使用的公式,没有传入任何函数。
正如您可能刚刚发现的那样,在 JavaScript 中,您当然可以比较两个字符串(按字母顺序进行)。有关更多详细信息,您可以查看javascriptkit