Di es6, Anda dapat menggunakan metode from() pada objek Array untuk mengubah objek menjadi array. Metode ini dapat mengubah objek seperti array atau objek yang dapat dilintasi menjadi array nyata; sintaksisnya adalah "Array.from(object )".
Lingkungan pengoperasian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
Di es6, Anda dapat menggunakan metode from() pada objek Array untuk mengubah objek menjadi array.
Metode Array.from() mengubah objek seperti array atau objek yang dapat dilintasi menjadi array nyata.
Jadi apa yang dimaksud dengan objek mirip array? Persyaratan paling mendasar untuk apa yang disebut objek mirip array adalah objek dengan atribut panjang.
1. Ubah objek seperti array menjadi array nyata:
let arrayLike = { 0: 'tom', 1: '65', 2: 'Laki-laki', 3: ['jane','john','Maria'], 'panjang': 4 } biarkan arr = Array.from(arrayLike) console.log(arr) // ['tom','65','M',['jane','john','Mary']]
Jadi, bagaimana jika atribut length pada kode di atas dihilangkan? Latihan telah membuktikan bahwa jawabannya adalah array kosong dengan panjang 0.
Mari kita ubah lagi kodenya yaitu memiliki atribut length, namun nama atribut objeknya bukan lagi bertipe numerik, melainkan bertipe string lainnya
. 'nama': 'tom', 'usia': '65', 'jenis kelamin': 'laki-laki', 'teman': ['jane','john','Mary'], panjang: 4 } biarkan arr = Array.from(arrayLike) console.log(arr) // [ tidak terdefinisi, tidak terdefinisi, tidak terdefinisi, tidak terdefinisi ]
akan menemukan bahwa hasilnya adalah array dengan panjang 4 dan semua elemen tidak terdefinisi.
Dapat dilihat bahwa untuk mengubah objek mirip array menjadi a array nyata, Anda harus memiliki kondisi berikut:
Objek array jenis ini harus memiliki atribut panjang, yang digunakan untuk menentukan panjang array. Jika tidak ada atribut panjang, array yang dikonversi adalah array kosong.
Nama atribut objek array jenis ini harus berupa angka numerik atau string
ps: Nama atribut objek array jenis ini dapat dikutip atau tidak.
2. Ubah data struktur Set menjadi array nyata:
let arr = [12,45,97,9797,564,134,45642] biarkan set = set baru(arr) console.log(Array.from(set)) // [ 12, 45, 97, 9797, 564, 134, 45642 ]
Array.from
juga dapat menerima parameter kedua, yang bertindak seperti metode map
array dan digunakan untuk memetakan Setiap elemen diproses dan nilai yang diproses ditempatkan ke dalam array yang dikembalikan. Sebagai berikut:
misalkan arr = [12,45,97,9797,564,134,45642] biarkan set = set baru(arr) console.log(Array.from(set, item => item + 1)) // [ 13, 46, 98, 9798, 565, 135, 45643 ]
3. Ubah string menjadi array:
let str = 'hello world !'; console.log(Array.from(str)) // ["h", "e", "l", "l", "o", " ", "w", "o", "r", " l", "d", "!"]
4. Parameter Array.from adalah array nyata:
console.log(Array.from([12,45,47,56,213,4654,154]))
seperti ini , Array .from akan mengembalikan array baru yang identik