Kaedah tatasusunan ES6 termasuk: 1. Array.from(), digunakan untuk menukar objek seperti tatasusunan atau objek boleh dilalui kepada tatasusunan sebenar 2. Array.of(), digunakan untuk menukar set nilai, Convert ke tatasusunan; 8. entri(); 9. kekunci();
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
修改原数组 | 不修改原数组 |
---|---|
push, pop | concat |
unshift,shift | join |
sort | slice |
reverse | indexOf(),lastIndexOf() |
splice | forEach |
copyWithin | map |
fill | filter |
some | |
every | |
reduce,reduceRight | |
includes | |
finde,findIndex | |
entries(),keys(),values() |
Kaedah tatasusunan
Array.from()
digunakan untuk menukar dua jenis objek kepada tatasusunan sebenar: objek seperti tatasusunan dan objek seperti tatasusunan. Objek boleh lelar (boleh lelar) (termasuk Set dan Peta struktur data baharu ES6).
let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
Array.from juga boleh menerima parameter kedua, yang serupa dengan kaedah peta tatasusunan Ia digunakan untuk memproses setiap elemen dan meletakkan nilai yang diproses ke dalam tatasusunan yang dikembalikan.
Array.from(arrayLike, x => x * x); // 等同于 Array.from(arrayLike).map(x => x * x); Array.from([1, 2, 3], (x) => x * x) // [1, 4, 9]
Array.of()
digunakan untuk menukar set nilai ke dalam tatasusunan.
Array.of(3, 11, 8) // [3,11,8] Array.of(3) // [3]
Kaedah contoh
akan menukar tatasusunan asal
copyWithin()
Dalam tatasusunan semasa, salin ahli pada kedudukan yang ditentukan ke kedudukan lain (ahli asal akan ditimpa), dan kemudian mengembalikan tatasusunan semasa.
array. copyWithin(target, start = 0, end = this.length);
// 将3号位复制到0号位 [1, 2, 3, 4, 5].copyWithin(0, 3, 4) // [4, 2, 3, 4, 5] // -2相当于3号位,-1相当于4号位 [1, 2, 3, 4, 5].copyWithin(0, -2, -1) // [4, 2, 3, 4, 5]
fill()
Mengisi tatasusunan dengan nilai yang diberikan.
['a', 'b', 'c'].fill(7); // [7, 7, 7] let arr = new Array(3).fill([]); arr[0].push(5); // [[5], [5], [5]]
tidak akan menukar tatasusunan asal
find()
digunakan untuk mengetahui ahli tatasusunan pertama yang memenuhi kriteria. Parameternya ialah fungsi panggil balik dan semua ahli tatasusunan melaksanakan fungsi panggil balik dalam urutan sehingga ahli pertama yang nilai pulangannya adalah benar ditemui, dan kemudian mengembalikan ahli tersebut. Jika tiada ahli yang sepadan, undefined dikembalikan.
Fungsi panggil balik kaedah cari boleh menerima tiga parameter, iaitu nilai semasa, kedudukan semasa dan tatasusunan asal.
[1, 4, -5, 10].find((n) => n < 0) // -5 [1, 5, 10, 15].find(function(value, index, arr) { return value > 9; }) // 10
findIndex()
Penggunaan kaedah findIndex sangat serupa dengan kaedah find, mengembalikan ahli tatasusunan pertama yang layak jawatan, atau -1 jika semua ahli tidak memenuhi kriteria.
[1, 5, 10, 15].findIndex(function(value, index, arr) { return value > 9; }) // 2
termasuk()
Mengembalikan nilai Boolean yang menunjukkan sama ada tatasusunan mengandungi nilai yang diberikan.
[1, 2, 3].includes(2) // true
entri(), kekunci() dan nilai()
ES6 menyediakan tiga kaedah baharu: entri(), kekunci( ) dan values(), digunakan untuk merentasi tatasusunan. Kedua-duanya mengembalikan objek traverser, yang boleh dilalui menggunakan gelung for...of Satu-satunya perbezaan ialah keys() melintasi nama kunci tatasusunan, values() melintasi nilai kunci tatasusunan. , dan kaedah entri() Ia adalah traversal pasangan nilai kunci bagi nilai.
for (let index of ['a', 'b'].keys()) { console.log(index); } // 0 // 1 for (let elem of ['a', 'b'].values()) { console.log(elem); } // 'a' // 'b' for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem); } // 0 "a" // 1 "b"
Jika anda tidak menggunakan gelung for...of, anda boleh memanggil kaedah seterusnya objek traverse untuk melintasi secara manual.
let letter = ['a', 'b', 'c']; let entries = letter.entries(); console.log(entries.next().value); // [0, 'a'] console.log(entries.next().value); // [1, 'b'] console.log(entries.next().value); // [2, 'c']
[Pembelajaran yang disyorkan: tutorial lanjutan javascript]
Atas ialah kandungan terperinci Apakah kaedah tatasusunan baharu dalam es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!