Как проитерироваться по объекту с разными полями?

Для каждого массива нужно выполнить свои действия, в зависимости от того, в каком поле они хранятся. Как проверить в цикле for..in равен ли ключ объекта тому, что нужно?

let data = {
    columns: ["a", "b", "c"],
    rows: ["d", "e", "f"]
}

for (let prop in data) {
    if(data.hasOwnProperty(prop)) { // здесь нужно проверить, что prop это columns
        ///
    } else if (data.hasOwnProperty(prop)) { // здесь нужно проверить, что prop это rows
      ///
    }
}


Ответы (1 шт):

Автор решения: Komdosh

Метод hasOwnProperty проверяет есть ли у объекта поле с заданным именем:

let data = {
    columns: ["a", "b", "c"],
    rows: ["d", "e", "f"]
}

for (let prop in data) {
    if(data.hasOwnProperty(prop)){
      if(prop === 'columns'){
         data[prop].forEach(v=>console.log('columns', v));
      } else if (prop === 'rows'){
         data[prop].forEach(v=>console.log('rows', v));
      }
    }
}

→ Ссылка