В es6 вы можете использовать метод from() объекта Array для преобразования объекта в массив. Этот метод может преобразовать объект, подобный массиву, или проходимый объект в реальный массив; синтаксис: «Array.from(object). )".
Операционная среда этого руководства: система Windows 7, ECMAScript версии 6, компьютер Dell G3.
В es6 вы можете использовать метод from() объекта Array для преобразования объекта в массив.
Метод Array.from() преобразует объект, подобный массиву, или проходимый объект в реальный массив.
Так что же такое объект, подобный массиву? Самым основным требованием для так называемого объекта, подобного массиву, является объект с атрибутом длины.
1. Преобразуйте объекты, похожие на массивы, в настоящие массивы:
let arrayLike = { 0: «том», 1: '65', 2: «Мужской», 3: ['Джейн','Джон','Мэри'], 'длина': 4 } пусть arr = Array.from(arrayLike) console.log(arr) // ['tom','65','M',['jane','john','Mary']]
Итак, что, если атрибут длины в приведенном выше коде будет удален? Практика доказала, что ответом будет пустой массив длины 0.
Снова изменим код, то есть у него есть атрибут length, но имя атрибута объекта уже не числового типа, а другого строкового типа. Код следующий:
let arrayLike = {. 'имя': 'том', «возраст»: «65», «пол»: «мужской», 'друзья': ['Джейн','Джон','Мэри'], длина: 4 } пусть arr = Array.from(arrayLike) console.log(arr) // [ undefined, undefine, undefined, undefined ]
обнаружит, что результатом является массив длиной 4, и все элементы не определены.
Видно, что для преобразования объекта, подобного массиву, в объект. реальный массив, у вас должны быть следующие условия:
Этот тип объекта массива должен иметь атрибут длины, который используется для указания длины массива. Если атрибут длины отсутствует, преобразованный массив является пустым массивом.
Имя атрибута объекта массива этого типа должно быть числовым или строковым номером
. ps: Имя атрибута объекта массива этого типа может быть заключено в кавычки или нет.
2. Преобразуйте данные структуры Set в реальный массив:
let arr =. [12,45,97,9797,564,134,45642] let set = новый Set(arr) console.log(Array.from(set)) // [ 12, 45, 97, 9797, 564, 134, 45642 ]
Array.from
также может принимать второй параметр, который действует как метод map
массива и используется для отображения Каждый элемент обрабатывается, и обработанное значение помещается в возвращаемый массив. Следующим образом:
пусть arr = [12,45,97,9797,564,134,45642] let set = новый Set(arr) console.log(Array.from(set, item => item + 1)) // [ 13, 46, 98, 9798, 565, 135, 45643 ]
3. Преобразуйте строку в массив:
let str = 'hello world !'; console.log(Array.from(str)) // ["h", "e", "l", "l", "o", " ", "w", "o", "r", " l", "d", "!"]
4. Параметр Array.from представляет собой настоящий массив:
console.log(Array.from([12,45,47,56,213,4654,154]))
вот так, Array .from вернет идентичный новый массив