淘汰赛,在 observableArray 中找到值的最佳方法是啥

Posted

技术标签:

【中文标题】淘汰赛,在 observableArray 中找到值的最佳方法是啥【英文标题】:knockout, whats the best way to find a value in observableArray淘汰赛,在 observableArray 中找到值的最佳方法是什么 【发布时间】:2012-10-21 01:51:44 【问题描述】:

我有一个 observableArray,我有一个名字“Zippy”,我需要检查它是否在数组中。如果这个名字存在,我需要得到它的类型。我该怎么做?

// This observable array initially contains three objects
var anotherObservableArray = ko.observableArray([
     name: "Bungle", type: "Bear" ,
     name: "George", type: "Hippo" ,
     name: "Zippy", type: "Unknown" 
]);

【问题讨论】:

【参考方案1】:

试试这个,你可以使用ko.utils.arrayFirst函数来检查你自定义逻辑的元素..

var name = "Zippy";
var match = ko.utils.arrayFirst(anotherObservableArray(), function(item) 
    return item.name == name;
);

var type;

if(match)
   type = match.type

【讨论】:

嗨,Yograj,我还有一个问题。如果我想更改数组中现有项的值,我应该怎么做?我在这里发布我的问题,你能看看吗? ***.com/questions/13163322/… 所以这不是错误的,因为它应该是 item.name() 而不是 item.name

以上是关于淘汰赛,在 observableArray 中找到值的最佳方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

Select2 用字符串覆盖淘汰赛 observableArray

为啥在刷新 Options 淘汰 observableArray 时我的 Select 值被取消选择(并且原始值仍然存在)?

KnockoutJS 映射插件 (observableArray)

淘汰赛将选择绑定到动态可观察数组

observableArray 和 foreach 绑定的内存泄漏

从 .ajax() 调用加载一个 knockout.js observableArray()