Как различить массив объектов и массив строк? Как определить, какой это массив?
Это может быть так ['foo', 'bar', 'baz'] или
['foo', 'bar', 'baz']
Это может быть похоже на [ { foo: 'bar' }, { qux: 'quux' } ] И я бы хотел обработать их отдельно
[ { foo: 'bar' }, { qux: 'quux' } ]
Вы можете проверить, имеет ли первый элемент массива какие-либо свойства объекта.
list1 = [1,2,3,4,5]; var type = typeof(list1[0])
Simple
Самый быстрый способ для меня выяснить, какой тип содержимого в массиве - это цикл по массиву с помощью 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
Вы можете зациклить этот массив с помощью метода foreach или map и с помощью оператора typeof проверить тип каждого элемента в массиве.
В JS вы можете иметь массив различных типов данных.Из-за этого вам придется тестировать каждый элемент в массиве.Что вы хотите сделать с этим массивом?Это будет определять, как выглядит код.