Как проверить, является ли это массивом объектов или массивом строк

Как отличить массив объектов от массива строк? Как определить, что это за массив?

Это может быть так ['foo', 'bar', 'baz'] или

Это может быть как [ { foo: 'bar' }, { qux: 'quux' } ] И я хотел бы обрабатывать их отдельно

Что-то вроде typeof arrayOfSuspiciousEntities[0] приходит на ум.

mbojko 10.04.2019 22:09

Пожалуйста, используйте еще несколько слов, чтобы лучше объяснить вопрос. вероятно, пример подойдет

Manoj 10.04.2019 22:13

Просто добавил пример

Jeff Adam 10.04.2019 22:24
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
68
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

В JS у вас может быть массив данных разных типов. Из-за этого вам придется тестировать каждый элемент в массиве. Что вы хотите сделать с этим массивом? Это определит, как будет выглядеть код.

Это может быть так ['foo', 'bar', 'baz'] или может быть так [ { foo: 'bar' }, { qux: 'quux' } ] И я хотел бы обработать их отдельно

Jeff Adam 10.04.2019 22:23

Ответ Ноа Джеррада является хорошей отправной точкой, проверьте первый элемент в массиве, используя typeof myArray[0]

willwile4 10.04.2019 22:29

Вы можете зациклить этот массив с помощью метода foreach или map и с помощью оператора typeof проверить тип каждого элемента в массиве.

Ответ принят как подходящий

Вы можете проверить, имеет ли первый элемент массива какие-либо свойства объекта.

list1 = [1,2,3,4,5];
var type = typeof(list1[0])

Простой

Самый быстрый способ узнать, какой тип содержимого в массиве, — это пройтись по массиву с помощью console.dir(). В console.dir смотрите все свойства. Вы можете добавить оператор typeof, чтобы найти тип переменной JavaScript в console.dir().

const list = ['foo', 'bar', 'baz'];
const list2 = [ { foo: 'bar' }, { qux: 'quux' } ];

list.forEach(item => console.dir(item)); // output: foo, bar, baz
list2.forEach(item => console.dir(item)); //output: Object, Object  

Ресурс console.dir: https://developer.mozilla.org/en-US/docs/Web/API/Console/dir

Другие вопросы по теме