Knockout Js:可观察数组的SORT函数如何工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Knockout Js:可观察数组的SORT函数如何工作相关的知识,希望对你有一定的参考价值。
我想要一个带有knockout排序方法的可观察数组,但根据文档,传递了两个字段。
myObservableArray.sort(function (left, right) { return left.lastName == right.lastName ? 0 : (left.lastName < right.lastName ? -1 : 1) })
左右参数从哪里获得,我是否传入它们,如果我有这样的数组
var dummyArray = [{letter: a, number: 4},{letter: f, number: 3},{letter: t, number: 2},{letter: v, number: 7},{letter: c, number: 9},]
我该如何排序?
答案
我将它们传递给:
不,sort函数会这样做。排序需要比较两个值。所以你需要提供进行比较的功能
我该如何排序?:
取决于你想如何排序它们。通过letter
?通过number
?一个然后另一个?别的什么?你必须提供执行它的功能。
所以按number
升序排序:
var dummyArray = [{letter: "a", number: 4},{letter: "f", number: 3},{letter: "t", number: 2},{letter: "v", number: 7},{letter: "c", number: 9}];
var koArray = ko.observableArray(dummyArray);
koArray.sort(function(l,r) { return l.number === r.number ? 0 : l.number < r.number ? -1 : 1; });
console.log(koArray())
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
以上是关于Knockout Js:可观察数组的SORT函数如何工作的主要内容,如果未能解决你的问题,请参考以下文章
Knockout.js:当可观察数组中的值发生变化时触发计算的最佳方法是啥
将多个输入绑定到可观察数组中的同一变量(Knockout.JS)
Knockout JS:从 viewmodel 可观察数组创建 Json
Knockout JS,如何在更改可观察数组中的值时更改样式属性