JS — Преобразовать объект в массив, если это не массив

#javascript #reactjs #typescript

#javascript #reactjs #typescript

Вопрос:

Допустим, нам нужно выполнить итерацию либо по Object , либо по Array of Objects . Я хочу преобразовать объект в массив из одного объекта, а затем выполнить итерацию в моем приложении React, чтобы представить то, что я хочу.

Давайте рассмотрим пример:

 // Returned value as object
const zoo = {
  lion: '🦁',
  panda: '🐼',
};

// I want to transform it into Array of 1 Object
const zoo = [{
  lion: '🦁',
  panda: '🐼',
}];
  

Как я мог бы этого добиться, но только если возвращаемое значение еще не является массивом?

Ответ №1:

Просто проверьте, является ли это массивом. Если нет, преобразуйте его:

 return Array.isArray(zoo) ? zoo : [zoo];
  

Ответ №2:

 function handleObj(obj){
return Array.isArray(obj)?obj:[obj]
}

console.log(handleObj({label:'aa',value:1}))