нокаут, что является лучшим способом найти значение в observableArray


У меня есть 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 5

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