Невозможно использовать оператор "in" для поиска "18" в canjs

Я вызываю функцию AJAX для получения данных из модели. Я пытаюсь загрузить данные в шаблон, но я не могу установить атрибуты в can.list. Вот мой звонок:

this.domainModel.getDomains("domains", function (response, error) {
  if ('domains' in response) {
                   self.filteredList.attr("domains",list);
    } else {
        return error;
    }
})

Показывает, что нельзя использовать оператор "in" для поиска "18". Я ищу это в Google, но я нашел результаты для jquery. Есть ли другие варианты?

1 ответ

Решение

Javascript in Оператор ищет определенное имя свойства в объекте Javascript. Вот что он делает.

Он не ищет в массиве значение в массиве. Он не ищет объект для свойства с данным значением. Любое из этих применений будет закодировано по-разному.

В вашем коде неясно, какой тип структуры данных вы пытаетесь найти 18 поэтому мы не можем по-настоящему посоветовать, как решить вашу конкретную проблему без более подробной информации.

Вот как in работает:

var test = {
    greeting: "hello",
    name: "john"
};

if ("greeting" in test) {
    console.log("found greeting property in test object");
}
Другие вопросы по тегам