Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah kaedah tatasusunan baharu dalam es6?

Apakah kaedah tatasusunan baharu dalam es6?

青灯夜游
青灯夜游asal
2023-01-29 14:02:487001semak imbas

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();

Apakah kaedah tatasusunan baharu dalam es6?

Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.

Kaedah objek Tatasusunan Tradisional

  • toSource() mengembalikan kod sumber objek.
  • toString() Menukar tatasusunan kepada rentetan dan mengembalikan hasilnya.
  • toLocaleString() Menukar tatasusunan kepada tatasusunan setempat dan mengembalikan hasilnya.
  • valueOf() mengembalikan nilai asal objek tatasusunan
修改原数组 不修改原数组
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 ES6

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);
  • sasaran (diperlukan): Mula menggantikan data dari kedudukan ini. Jika ia adalah nilai negatif, ia mewakili nilai timbal balik.
  • mula (pilihan): Mula membaca data dari kedudukan ini, lalainya ialah 0. Jika ia adalah nilai negatif, ia mewakili nilai timbal balik.
  • akhir (pilihan): Berhenti membaca data sebelum mencapai kedudukan ini. Lalai adalah sama dengan panjang tatasusunan. Jika ia adalah nilai negatif, ia mewakili nilai timbal balik.
// 将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 [&#39;a&#39;, &#39;b&#39;].keys()) {
  console.log(index);
}
// 0
// 1

for (let elem of [&#39;a&#39;, &#39;b&#39;].values()) {
  console.log(elem);
}
// &#39;a&#39;
// &#39;b&#39;

for (let [index, elem] of [&#39;a&#39;, &#39;b&#39;].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 = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;];
let entries = letter.entries();
console.log(entries.next().value); // [0, &#39;a&#39;]
console.log(entries.next().value); // [1, &#39;b&#39;]
console.log(entries.next().value); // [2, &#39;c&#39;]

[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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn