Rumah > hujung hadapan web > tutorial js > Kaedah tatasusunan JavaScript.

Kaedah tatasusunan JavaScript.

Mary-Kate Olsen
Lepaskan: 2024-12-08 14:26:11
asal
428 orang telah melayarinya

Jom pergi kerja tanpa banyak cakap. Dalam siaran ini, kita akan berkenalan dengan kaedah tatasusunan dalam bahasa pengaturcaraan javascript dan menangani isu berkaitan.


Tambah elemen, tukar.

  • panjang()
  • tekan()
  • concat()

Matikan.

  • pop()
  • shift()
  • sambatan()
  • padam tatasusunan[i]

cari

  • cari(fungsi())
  • indexOf()

susun

  • sort() untuk nombor dan untuk rentetan

terbalik

  • terbalik()

Tambah dan ubah suai item.

Kaedah

panjang mencari bilangan elemen, atau panjang, tatasusunan.
Perlu diingatkan bahawa jenis tatasusunan dalam Javascript ialah objek. Jika anda pernah mempelajari bahasa seperti c/c atau java sebelum ini, ini mungkin kelihatan agak mengelirukan. Dalam JavaScript, tatasusunan sendiri sebenarnya jenis data , yang berbeza daripada tatasusunan dalam c/c. Dalam JS, anda boleh menyimpan pelbagai jenis data dalam satu tatasusunan.

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


Tambah elemen baharu dari hujung tatasusunan.

Anda mungkin ada soalan. Adakah mungkin untuk menukar nilai pembolehubah malar? Ya, kami memasukkan elemen baharu melalui kaedah push(), tetapi kami tidak menetapkan nilai baharu pada tatasusunan.

// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


Gabungkan dua tatasusunan (satukan).

kaedah concat() akan menggabungkan dua tatasusunan.

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


Memadam elemen daripada tatasusunan.

Terdapat beberapa cara berbeza untuk memadamkan elemen tatasusunan dalam JavaScript.
kaedah pop() digunakan untuk mengalih keluar satu elemen daripada hujung tatasusunan.

// pop(), arrayning oxiridan bitta element o'chiradi
let array1 = [6, "satr", true, 55, 4.6];
console.log(`\navval:  [${array1}]\n`);

array1.pop();
console.log(`keyin:  [${array1}]\n`);
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


Kaedah

shift() mengalih keluar satu elemen dari permulaan tatasusunan

// shift() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.shift();
console.log(`keyin: 44 arrayda emas [${array}]\n`);
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


Kaedah

splice() adalah unik kerana ia bukan sahaja digunakan untuk memadam elemen, tetapi juga untuk mengubah suai data. Untuk tujuan pemadaman, kaedah ini mengambil dua nilai.

  • pertama: ialah indeks permulaan untuk memadamkan elemen.
  • kedua: berapa banyak elemen untuk dipadamkan.

Contohnya: tatasusunan const = [44, 5.3, 2, 14, 98, "teks", "epal"]; ada. Kami mahu memadamkan 2 elemen, bermula dari indeks 3, iaitu 14 (14 sendiri dipadamkan), 2 elemen.

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.
Untuk tujuan penggantian, splice() digunakan seperti berikut.

  1. indeks mula array.splice(3, ...)
  2. berapa banyak elemen untuk ditukar array.splice(3, 2, ...)
  3. elemen baharu untuk dimasukkan dengan sewajarnya array.splice(3, 2, "new1", "new2")
// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


Kaedah

padam tatasusunan[i] ialah cara paling mudah untuk memadamkan unsur tatasusunan. Dalam kes ini, indeks elemen yang hendak dipadamkan ditulis bukannya [i].

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


Mencari dari tatasusunan

Kaedah

find(function()) digunakan untuk mencari elemen tertentu daripada tatasusunan. Fungsi ditulis pada kaedah ini sebagai nilai, dan fungsi diberikan elemen untuk dicari. Fungsi ini tidak mengembalikan indeks, jika elemen yang dicari terdapat dalam tatasusunan, ia mengembalikan elemen ini, jika tidak, ia mengembalikan tidak ditentukan.

// pop(), arrayning oxiridan bitta element o'chiradi
let array1 = [6, "satr", true, 55, 4.6];
console.log(`\navval:  [${array1}]\n`);

array1.pop();
console.log(`keyin:  [${array1}]\n`);
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


kaedah indexOf() mengembalikan indeks elemen yang dicari.

// shift() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.shift();
console.log(`keyin: 44 arrayda emas [${array}]\n`);
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.


susun

kaedah sort(), di sinilah "sakit kepala" JavaScript bermula. Pada pandangan pertama, kaedah sort() kelihatan mudah, tetapi sebenarnya terdapat satu lagi proses yang berlaku di sebalik tabir. Secara lalai, sort() mengisih rentetan , tetapi boleh mengisih dengan betul jika nilai integer atau angka diberikan. Tetapi JavaScript mengisih nombor jika mahu, bukan jika tidak (gurau sahaja):)

// splice() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.splice(3, 2);

console.log(`keyin: 14 va 98 elementlari o'chdi [${array}]\n`);
Salin selepas log masuk

JavaScript array metodlari.


dalam nilai berangka seperti berikut.

// splice() Metodi

const array = [44, 5.3, 2, 14, 98, "text", "olma"];
console.log(`\navval: [${array}] \n`);

array.splice(3, 2, "yangi1", "yangi2");

console.log(`keyin: 14 va 98 elementlari almashtirildi [${array}]\n`);
Salin selepas log masuk

JavaScript array metodlari.


Jadi apa masalahnya?

Anda boleh katakan, mari teruskan.

// Arrayning uzunligi, o'lchami
const array = ["nimadir", "kimdir", true, 55, 4.6];
console.log(`arrayning uzunligi ${array.length}`);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

JavaScript array metodlari.

Berhenti, lihat hasilnya, tatasusunan diisih: [100,1021,30,45,61,8] apa itu!?
JavaScript mengisih tatasusunan sebagai rentetan. Walaupun nombor diberikan, ia akan dipindahkan ke kod ascii dan diisih mengikut leksikografi, iaitu seperti rentetan. Ini akan menyebabkan ralat. Dalam masalah, 100 sepatutnya menjadi nombor terakhir, dan 30 sepatutnya sebelum 100. sebagai aksara, 1 mendahului 3, jadi ralat berlaku (lihat jadual ascii!). Untuk membetulkannya, kami memberikan function() kepada kaedah sort().

// push(), array oxiriga yangi element qo'shish
const array = ["nimadir", "kimdir", true, 55, 4.6];
array.push("yangi element");
console.log(`arrayning uzunligi: ${array} \n`);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Fungsi

array.sort((a, b) => a - b); membandingkan dua elemen dalam tatasusunan dan menentukan susunannya.

  • a dan b: Ini adalah dua elemen daripada tatasusunan yang dibandingkan. Kaedah sort() membandingkan semua elemen berpasangan (contohnya, a dan b) dan menyusunnya mengikut hasil fungsi perbandingan.
  • a - b: Dengan mengira perbezaan ini, susunan unsur ditentukan:
  1. Jika a - b adalah negatif (iaitu, a < b), a mendahului b.
  2. Jika a - b adalah positif (iaitu, a > b), b mendahului a.
  3. Jika a - b ialah sifar (iaitu, a === b), maka mereka tidak saling eksklusif.

Keputusan:

JavaScript array metodlari.


Membelek

Kaedah

reverse() mencipta tatasusunan yang merupakan songsang tatasusunan yang diberikan oleh namanya.

// concat(), ikki arrayni birlashtirish
let array1 = ["nimadir", "kimdir", true, 55, 4.6];
let array2 = [8, 3, 9];
console.log("array1: " + array1, "\n", "array2: " + array2 + "\n");

let result = array1.concat(array2);
console.log(
  `Ikki array bitta yangi arrayga birlashtirildi: result [${result}] \n`
);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Keputusan:

JavaScript array metodlari.


Saya harap anda telah mendapat pengetahuan tentang kaedah tatasusunan JavaScript melalui siaran ini, kongsi siaran ini dengan orang tersayang anda yang sedang belajar JS!

Soalan untuk disemak:

1. Tambah elemen, tukar:

a. panjang()

Masalah: Bayangkan tatasusunan besar yang mengandungi 1000 nilai. Jika anda hanya perlu mengeluarkan bilangan elemen dalam tatasusunan, apakah kaedah yang akan anda gunakan? Bagaimanakah bilangan elemen berubah dengan sebarang perubahan pada tatasusunan?
Masalah: Jika anda perlu menambah 1000 elemen baharu pada penghujung tatasusunan yang diberikan, tentukan panjang tatasusunan. Kaedah manakah yang paling berkesan untuk digunakan untuk ini?

b. tolak()

Masalah: Anda mempunyai tatasusunan di mana setiap elemen adalah sama. Setiap kali anda menambah elemen baharu, anda mesti menggantikan elemen pada penghujung tatasusunan. Bagaimanakah anda mengoptimumkan operasi ini?
Masalah: Anda mempunyai tatasusunan yang dipanggil tugas yang mengandungi pelbagai tugas yang perlu dilakukan. Setiap kali anda perlu menambah tugasan baharu dan mengemas kini tugasan di penghujung senarai. Bagaimana anda melakukan ini?

c. concat()

Masalah: Anda perlu menggabungkan dua tatasusunan dan memaparkannya dalam format yang sama. Tatasusunan pertama mengandungi hanya nombor mudah, dan yang kedua hanya mengandungi rentetan angka. Bagaimana untuk mencipta tatasusunan baharu daripadanya dan mengeluarkan semua nombor dalam format angka?
Masalah: Anda mempunyai dua tatasusunan, satu mengandungi maklumat tentang pengguna dan satu lagi mengandungi sejarah log masuk pengguna. Anda perlu menggabungkan tatasusunan ini, tetapi anda hanya mahu memaparkan sejarah keadaan aktif pengguna. Bagaimana anda melakukan ini?

2. Padam:

a. pop()

Masalah: Anda mempunyai berbilang senarai pengguna dan setiap kali anda perlu mengalih keluar pengguna terakhir daripada senarai. Tetapi anda hanya mahu mengekalkan pengguna aktif dari 3 hari lepas. Bagaimanakah anda boleh menguruskannya?
Masalah: Anda mempunyai tatasusunan bernama buku yang mengandungi maklumat tentang pelbagai buku. Setiap kali anda perlu memadamkan buku terakhir dan menambah buku baharu. Macam mana nak buat?

b. shift()

Masalah: Bayangkan proses baris gilir di mana pengguna sedang menunggu giliran mereka. Setiap kali anda log keluar daripada pengguna seterusnya dan masukkan pengguna baharu. Bagaimana anda melakukan proses ini?
Masalah: Anda mempunyai tatasusunan yang disusun mengikut masa log masuk pengguna. Anda mesti menyahlanggan pengguna pertama setiap kali. Bagaimana anda melakukan ini?

c. sambung()

Masalah: Anda mempunyai senarai pelajar dan setiap kali anda perlu menukar atau mengalih keluar 3 pelajar daripada senarai. Bagaimana anda melakukan proses ini?
Masalah: Anda mempunyai senarai isu. Setiap kali beberapa isu perlu dialih keluar dan diubah. Apabila menukar isu, isu lain mesti kekal dalam susunan yang betul. Bagaimana anda melakukan ini?

d. padamkan tatasusunan[i]

Masalah: Anda mempunyai tatasusunan yang besar dan anda perlu memadamkan elemen berdasarkan indeksnya. Apakah yang perlu dilakukan apabila memadamkan elemen, dengan mengambil kira cara elemen lain dalam tatasusunan diubah?
Masalah: Anda mempunyai senarai pelanggan dan setiap pelanggan mempunyai nombor ID unik. Apakah kaedah yang boleh digunakan untuk menyahdaftarkan pelanggan bagi ID tertentu?

3. Cari:

a. cari(fungsi())

Masalah: Anda mempunyai senarai pengguna. Setiap pengguna mempunyai nombor ID dan nama. Anda hanya perlu mendapatkan maklumat pengguna yang namanya "John". Bagaimana anda melakukan ini?
Masalah: Anda mempunyai senarai produk, dan setiap produk mempunyai nama dan harga. Anda hanya perlu mencari produk dengan harga melebihi 100. Bagaimana anda melakukan ini?

b. indexOf()

Masalah: Anda mempunyai senarai buku, dan setiap buku mempunyai tajuk dan pengarang. Jika pengguna mencari buku, tentukan indeksnya mengikut nama.
Masalah: Anda mempunyai senarai produk dan setiap produk diberikan nombor pengenalan unik. Jika pengguna sedang mencari produk, anda sepatutnya dapat mencarinya berdasarkan nombor IDnya. Bagaimanakah ini dilakukan?

4. Pesanan:

a. sort()(untuk nombor)

Masalah: Anda mempunyai berbilang penilaian pelajar. Isih gred dari terendah hingga tertinggi, tetapi isikan pelajar dengan gred yang sama mengikut nama.
Masalah: Anda mempunyai tatasusunan yang mengandungi harga produk. Anda boleh mengisih harga mengikut tertib menurun, tetapi jika harga adalah sama, isih mengikut tarikh jualan.

b. sort()(untuk rentetan)

Masalah: Anda mempunyai pelbagai nama pelanggan. Anda harus mengisihnya mengikut abjad, tetapi hanya dengan huruf besar
Masalah: Anda mempunyai tajuk buku. Anda ingin mengisih semua buku mengikut panjang perkataan di dalamnya. Bagaimana anda melakukan ini?

5. Klik:

a. terbalik()

Masalah: Anda mempunyai tatasusunan berbilang nombor. Anda mesti mengeluarkan tatasusunan ini dalam susunan terbalik. Bagaimana untuk mengira perubahan ini?
Masalah: Anda mempunyai senarai teks dan anda ingin mengeluarkan teks dalam susunan terbalik. Apakah yang anda akan dapat jika teks semuanya sama panjang?

pepijat dan soalan

Atas ialah kandungan terperinci Kaedah tatasusunan JavaScript.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan