Rumah  >  Artikel  >  hujung hadapan web  >  Adakah Ditetapkan untuk ES6?

Adakah Ditetapkan untuk ES6?

青灯夜游
青灯夜游asal
2022-05-05 14:37:021465semak imbas

Set ialah ciri baharu ES6. Set ialah struktur data baharu dalam ES6 Ia adalah koleksi senarai tersusun, serupa dengan tatasusunan, tetapi nilai ahlinya adalah unik dan tiada nilai pendua set ialah susunan sisipan, dan set menyimpan a senarai fungsi Apabila dipanggil, panggilan dibuat dalam susunan yang ditentukan, jadi jenis set dipesan.

Adakah Ditetapkan untuk ES6?

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

Set ialah ciri baharu ES6.

Set ialah struktur data baharu yang disediakan oleh ES6, yang serupa dengan tatasusunan, tetapi nilai ahli adalah unik dan tiada nilai pendua.

Set sendiri ialah pembina yang digunakan untuk menjana struktur data Set.

// 创建Set实例
let set1 = new Set();                           // {}
let set2 = new Set([1,2,{name:'杰克'}]);        // {1,2,{name:'杰克'}}

Jenis set ialah koleksi senarai tertib baharu dalam es6, yang mengandungi beberapa nilai tidak berulang set ialah susunan sisipan Apabila senarai fungsi yang disimpan oleh set dipanggil, Ia dipanggil dalam susunan yang ditentukan, jadi jenis set dipesan.

Tambah, padam, ubah suai dan semak Set

Contoh Set berkenaan kaedah menambah, memadam, mengubah suai dan menyemak:

  • add()

  • delete()

  • mempunyai()

  • clear()

add()

Tambah nilai dan kembalikan struktur Set itu sendiri

Apabila contoh tambahan sudah wujud elemen, set tidak akan memproses penambahan

s.add(1).add(2).add(2); // 2 hanya ditambah sekali

padam ()

Padamkan nilai dan kembalikan nilai Boolean yang menunjukkan sama ada pemadaman berjaya

s.delete(1)

has()

kembali nilai Boolean untuk menentukan sama ada nilai itu ialah ahli Set

s.has(2)

clear()

Kosongkan semua ahli, tiada nilai pulangan

s.clear()

keys(): Mengembalikan penyeberang nama kunci

values(): Mengembalikan penyeberang nilai kunci

entri(): Mengembalikan penyeberang pasangan nilai kunci
  • forEach(): Gunakan fungsi panggil balik untuk melintasi setiap ahli
  • Susunan traversal Set ialah susunan sisipan
  • Kaedah kunci, kaedah nilai dan kaedah entri mengembalikan objek traverser
  • forEach() digunakan untuk melaksanakan pada setiap ahli Operasi tertentu tidak mempunyai nilai pulangan, dan nilai kunci dan nama kunci adalah sama untukSetiap kaedah mempunyai parameter kedua, yang digunakan untuk mengikat fungsi pemprosesan ini

operator pengembangan dan Struktur Set Gabungan pelaksanaan tatasusunan atau penyahduplikasian rentetan

Realisasi set kesatuan, persilangan dan perbezaan

let set = new Set(['red', 'green', 'blue']);

for (let item of set.keys()) {
  console.log(item);
}
// red
// green
// blue

for (let item of set.values()) {
  console.log(item);
}
// red
// green
// blue

for (let item of set.entries()) {
  console.log(item);
}
// ["red", "red"]
// ["green", "green"]
// ["blue", "blue"]
Pengetahuan lanjutan:

let set = new Set([1, 4, 9]);
set.forEach((value, key) => console.log(key + ' : ' + value))
// 1 : 1
// 4 : 4
// 9 : 9

// 数组
let arr = [3, 5, 2, 2, 5, 5];
let unique = [...new Set(arr)]; // [3, 5, 2]
// 字符串
let str = "352255";
let unique = [...new Set(str)].join(""); // ""
Penukaran antara tatasusunan biasa dan Tetapkan tika

let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);

// 并集
let union = new Set([...a, ...b]);
// Set {1, 2, 3, 4}

// 交集
let intersect = new Set([...a].filter(x => b.has(x)));
// set {2, 3}

// (a 相对于 b 的)差集
let difference = new Set([...a].filter(x => !b.has(x)));
// Set {1}

1 Tetapkan contoh

    2. Tukar Tetapkan contoh kepada tatasusunan
  • [Cadangan berkaitan: tutorial video javascript

    ,
  • bahagian hadapan web
]

Atas ialah kandungan terperinci Adakah Ditetapkan untuk 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