gpt4 book ai didi

javascript - 如何在二维数组上应用 ko.utils.arrayGetDistinctValues

转载 作者:行者123 更新时间:2023-11-29 19:43:42 24 4
gpt4 key购买 nike

我有一个有两个维度的 ko.observableArray,即“id”和“name”。Id 将始终不同,但 name 可以具有相同的值。

self.myArray = ko.observableArray( [ 
{ "id": "1", "name": "Barbara" }, 
{ "id": "2", "name": "Edwin" }, 
{ "id": "3", "name": "Barbara" } 
] );

但是我想过滤数组,以便我的结果只包含第一次出现的“name”。

我想要的结果是:

self. myFilteredArray = [ 
{ "id": "1", "name": "Barbara" }, 
{ "id": "2", "name": "Edwin" } 
];

我一直在尝试使用 ko.utils.arrayGetDistinctValues() 解决这个问题,但我如何才能仅在一个选定的维度上使用它?

最佳答案

您可以为此使用计算:

viewModel.myFilteredArray = ko.computed(function() {
var rv = [], names = [];
for(var i=0; i<this.myArray().length; i++) {
if(names.indexOf(this.myArray()[i].name) === -1) {
rv.push(this.myArray()[i]);
names.push(this.myArray()[i].name);
}
}
return rv;
}, viewModel);

关于javascript - 如何在二维数组上应用 ko.utils.arrayGetDistinctValues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21466054/

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