gpt4 book ai didi

knockout.js - knockout 数组获取对象的不同值

转载 作者:行者123 更新时间:2023-12-04 22:33:35 26 4
gpt4 key购买 nike

我想对数组中的多个属性使用 this fiddle 中的 ko.utils.arrayGetDistinctValues,因此我将数组映射到我想要的两个属性的数组

viewModel.justCategories = ko.dependentObservable(function() {
var categories = ko.utils.arrayMap(this.items(), function(item) {
return { catid : item.catid(), category : item.category() };
});
return categories.sort();
}, viewModel);

然后我尝试使用 arrayGetDistinctValues 但它似乎不适用于对象。
viewModel.uniqueCategories = ko.dependentObservable(function() {
return ko.utils.arrayGetDistinctValues(viewModel.justCategories()).sort();
}, viewModel);

My modified fiddle here

有人能告诉我怎么做吗?

最佳答案

arrayGetDistinctValues 仅适用于原始值。对于对象,您将需要不同的方法。这是一个有效的版本。

viewModel.uniqueCategories = ko.dependentObservable(function() {
var seen = [];
return viewModel.justCategories().filter(function(n) {
return seen.indexOf(n.catid) == -1 && seen.push(n.catid);
});
});

http://jsfiddle.net/mbest/dDA4M/2/

关于knockout.js - knockout 数组获取对象的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14437849/

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