Как проверить, является ли это массив объектов или массив строк - PullRequest
0 голосов
/ 10 апреля 2019

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

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

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

Ответы [ 4 ]

2 голосов
/ 10 апреля 2019

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

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

Simple

0 голосов
/ 11 апреля 2019

Самый быстрый способ для меня выяснить, какой тип содержимого в массиве - это цикл по массиву с помощью 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

0 голосов
/ 10 апреля 2019

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

0 голосов
/ 10 апреля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...