gpt4 book ai didi

javascript - 计算数组排序

转载 作者:行者123 更新时间:2023-12-02 19:21:42 24 4
gpt4 key购买 nike

我有一个像这样的计算数组,

self.weapons = ko.observableArray(
[]
);

self.wings = ko.observableArray(
[]
);


self.itemList = ko.computed( function()
{
return self.weapons().concat(self.wings());
}
},
this );

我想对这个数组进行排序。

我可以毫无问题地对 ko.observableArray 进行排序。

我认为这里的问题是,ko.compulated 在排序完成后再次计算回来。

还有:是否有更好的方法将多个 observableArray 连接在一起?

谢谢。

最佳答案

只需对串联数组进行排序即可。

self.itemList = ko.computed(function () {
var weapons = self.weapons(),
wings = self.wings();
return weapons.concat(wings).sort();
});

每次数组发生变化时都必须重新调用它,但对此您无能为力。

如果您要连续进行许多更改,请考虑使用 rateLimit计算的可观察量上的扩展器(或 knockout 3.1.x 之前的 throttle)。这将通过折叠特定时间段内发出的所有通知来限制可观察对象发送通知的次数。

self.itemList = ko.computed(function () {
...
}).extend({ rateLimit: 500 }); // wait at least 500ms before first notification

关于javascript - 计算数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12470074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com