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

Apakah kaedah tatasusunan baharu dalam es6?

青灯夜游
Lepaskan: 2023-01-29 17:44:06
asal
6981 orang telah melayarinya

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']
Salin selepas log masuk

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]
Salin selepas log masuk

Array.of()

digunakan untuk menukar set nilai ke dalam tatasusunan.

Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Salin selepas log masuk

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);
Salin selepas log masuk
  • 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]
Salin selepas log masuk
  • 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]]
Salin selepas log masuk

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
Salin selepas log masuk
  • 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
Salin selepas log masuk
  • termasuk()

Mengembalikan nilai Boolean yang menunjukkan sama ada tatasusunan mengandungi nilai yang diberikan.

[1, 2, 3].includes(2) // true
Salin selepas log masuk
  • 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"
Salin selepas log masuk

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;]
Salin selepas log masuk

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan