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

时间:2012-10-31 14:54:42

标签: knockout.js knockout-2.0

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

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

1 个答案:

答案 0 :(得分:16)

试试这个,您可以使用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