[ad_1]
Hai Sob di suratpembaca.web.id. Kali ini kita akan membicarakan tentang Linux yaitu Hitung jumlah elemen dalam array JavaScript
.
Semoga artikel mengenai Hitung jumlah elemen dalam array JavaScript
dapat memberikan manfaat untuk Sahabat semua. Mari baca postingan ini
hingga selesai.
pengantar
Saat bekerja dengan array di JavaScript, kita sering menghadapi situasi di mana kita diminta untuk menghitung jumlah kejadian dari elemen tertentu dalam array itu – elemen ini bisa berupa string, objek, angka, atau bahkan boolean.
Pada artikel ini, kita akan melihat beberapa cara untuk menghitung jumlah kemunculan elemen atau semua elemen dalam array JavaScript. Kami juga akan melihat bagaimana menghitung jumlah kemunculan elemen dalam array dengan meratakan array.
Cara menghitung kemunculan elemen menggunakan cincin
partikel untuk objek langsung for
Loop adalah salah satu metode standar untuk perulangan melalui array. Ini memungkinkan kita untuk mengulang array pada setiap elemen dan membandingkannya dengan elemen yang kita cari. Dengan cara ini, kita dapat menghitung jumlah kemunculan elemen tersebut dalam sebuah array. Kita juga dapat menggunakannya untuk menghitung jumlah kejadian dari semua elemen dalam array, tetapi kita akan membahasnya nanti. Sekarang, misalkan kita ingin mencari jumlah kejadian dari elemen tertentu.
solusi terbaik: Untuk-dari Cincin
Jelas, JavaScript memiliki internal for
Kita dapat menggunakan loop, tetapi kita dapat memodifikasinya untuk mempermudah – the for-of
Loop Dengan cara ini, alih-alih mengakses setiap elemen dengan indeksnya di dalam array, kita dapat mengakses nilai elemen itu sendiri.
Catatan: JavaScript memperkenalkan ES2015 for-of
Cincin pengganti untuk array.forEach()
Metode ini sebelumnya digunakan untuk mengulang pada setiap elemen array dan menerapkan beberapa perubahan pada masing-masing elemen tersebut. Perbedaan awal antara for-of
Dan forEach()
Ini yang pertama dengan async
Fungsi. Dalam artikel ini, kami lebih suka menggunakannya terlebih dahulu for-of
Cincin sebagai gantinya forEach()
Metode ini hanya untuk keamanan dalam skenario asinkron, tetapi jika Anda tidak kesal, gunakan dengan mudah forEach()
dari pada!
Pertama-tama, mari kita lihat beberapa kali Elemen tertentu terjadi Untuk melakukan ini dalam sebuah array, kita perlu mengonfigurasinya counter
Variabel ke 0
Kemudian ulangi array dan tingkatkan nilainya counter
Setiap kali kita menemukan elemen yang kita inginkan satu per satu. Ketika kita mengulang seluruh array, counter
Menyimpan berapa kali elemen pencarian dicari:
const allStudentsAge = [19, 22, 18, 19, 16, 18, 19, 21, 24];
let target = 19;
let counter = 0;
for (studentAge of allStudentsAge)
if (studentAge == target)
counter++;
;
console.log(counter);
Situasi yang kita miliki Sebuah array dari array Sedikit lebih rumit maka kita harus meratakan array agar semua elemen berada dalam array yang sama menggunakan array flat()
Metode:
const allStudentsAge = [
[1, 19],
[3, 4],
[5, 19],
[7, 8, 19],
[10, 11, 12, 13, 14, 15],
[19, 22, 18, 19, 16, 18, 19, 21, 24]
];
let target = 19;
let counter = 0;
for (studentAge of allStudentsAge.flat())
if (studentAge == target)
counter++;
;
console.log(counter);
Ini juga berlaku untuk array dengan Elemen dari tipe data yang berbeda. Mari kita buat array sampel dengan tipe data yang berbeda dan lihat apakah kita dapat menghitung jumlah kemunculan elemen tertentu:
const myArray = [false, 24, "English", false, "english", 22, 19, false, "English", 19];
Sekarang kita dapat membuat fungsi yang dapat digunakan kembali yang menghitung jumlah kejadian dari elemen tertentu dalam larik yang diberikan:
const checkOccurrence = (array, element) =>
let counter = 0;
for (item of array.flat())
if (item == element)
counter++;
;
console.log(counter);
;
Mari kita periksa apakah fungsi yang kita buat benar-benar berfungsi:
checkOccurrence(myArray, false);
checkOccurrence(myArray, 19);
checkOccurrence(myArray, "english");
Kami telah mengkonfirmasi bahwa ada tiga contoh elemen false
Dan dua contoh elemen 19
Yang benar, tapi mengapa hanya ada satu elemen "english"
Alih-alih tiga? Ini berhubungan dengan Kepekaan terhadap huruf besar dan huruf kecil Dari fungsi yang kami buat – cara terbaik untuk menyelesaikan masalah ini adalah dengan mengubah semua elemen string menjadi huruf besar (atau huruf kecil) sebelum menghitung:
const checkOccurrence = (array, element) =>
let counter = 0;
for (item of array.flat())
if (typeof item === "string")
let newItem = item.toLowerCase();
if (newItem == element)
counter++;
else
if (item == element)
counter++;
;
console.log(counter);
;
Ketika kita sekarang menghitung peristiwa elemen "english"
kan checkOccurrence()
Fungsi kembali 3
Karena tidak lagi peka huruf besar/kecil:
checkOccurrence(myArray, "english");
Alternatif No. 1: Ke Cincin
Jika karena alasan tertentu Anda perlu mengakses indeks setiap elemen dalam array, Anda juga dapat menggunakan Basic for
Cincin sebagai gantinya for-of
:
const checkOccurrence = (array, element) =>
let counter = 0;
for (let i = 0; i <= array.length; i++)
if (array[i] == element)
counter++;
console.log(counter);
;
Kami dapat memeriksa apakah itu memberikan hasil yang sama dengan fungsi yang dibuat dengannya for-of
Cincin:
checkOccurrence(myArray, false);
checkOccurrence(myArray, 19);
checkOccurrence(myArray, "english");
Alternatif No. 2: untuk setiap() metode
Alternatif lain yang mungkin adalah menggunakan forEach()
Ulangi metode pada semua elemen array:
const checkOccurrence = (array, element) =>
let counter = 0;
array.forEach()for (let i = 0; i <= array.length; i++)
if (array[i] == element)
counter++;
console.log(counter);
;
Ini memberi kita hasil yang sama seperti sebelumnya, tetapi sekali lagi, berhati-hatilah saat menggunakannya forEach()
Metode dalam lingkungan asinkron:
checkOccurrence(myArray, false);
checkOccurrence(myArray, 19);
checkOccurrence(myArray, "english");
Periksa kemunculan semua elemen
Sejauh ini, kita telah melihat bagaimana menghitung kasus Sebuah elemen khusus. Sekarang, mari kita lihat bagaimana kasus dapat dihitung Semua elemen Dan mengembalikan elemen dan jumlah peristiwa sebagai objek.
Untuk memulai, kami membuat objek kosong untuk menyimpan setiap elemen array sebagai kunci dan berapa kali nilainya. Kemudian kita loop menggunakan array for-of
Loop, dan dalam setiap iterasi, jika ada elemen tertentu dalam objek, kami menambah jumlahnya, atau nomornya pada 1
jika tidak:
Lihat panduan pembelajaran Git langsung dan langsung kami dengan praktik terbaik, standar yang diterima industri, dan lembar contekan yang disertakan. Hentikan perintah Google Git dan nyatanya Mempelajari dia!
const myArray = [false, 24, "English", false, "english", 22, 19, false, "English", 19];
let counter = ;
for (element of myArray.flat())
if (counter[element])
counter[element] += 1;
else
counter[element] = 1;
;
console.log(counter);
Kode sebelumnya memberikan objek yang berisi berapa kali setiap elemen dalam output myArray
:
"19": 2,
"22": 1,
"24": 1,
"English": 2,
"english": 1,
"false": 3
Misalkan kita masih ingin Hindari peka huruf besar/kecilKita bisa melakukan sesuatu seperti ini:
const myArray = [false, 24, "English", false, "english", 22, 19, false, "English", 19];
let counter = ;
for (element of myArray.flat())
if (typeof element === "string")
let newItem = element.toLowerCase();
if (counter[newItem])
counter[newItem] += 1;
else
counter[newItem] = 1;
else
if (counter[element])
counter[element] += 1;
else
counter[element] = 1;
);
console.log(counter);
Ini akan menampilkan objek berikut:
"19": 2,
"22": 1,
"24": 1,
"false": 3,
"english": 3
Cara menghitung kejadian unsur menggunakan Mengurangi ()
reduce()
Adalah metode yang kuat yang dapat digunakan untuk dengan mudah mendapatkan jumlah kejadian dari setiap elemen dalam array dengan satu Beberapa baris kode. Menerima fungsi callback dan nilai awal, yang merupakan objek kosong untuk kita isi nanti:
const myArray = [false, 24, "English", false, "english", 22, 19, false, "English", 19];
let countObject = myArray.reduce(function (
count,
currentValue
)
return (
count[currentValue] ? ++count[currentValue] : (count[currentValue] = 1),
count
);
,
);
console.log(countObject);
Ini menampilkan objek yang berisi elemen sebagai kunci dan jumlah peristiwa sebagai nilai:
"19": 2,
"22": 1,
"24": 1,
"false": 3,
"English": 2,
"english": 1
Cara menghitung peristiwa elemen menggunakan Saring() Metode
Di bagian sebelumnya, cara menggunakan cincin dan reduce()
Metode untuk situasi berbeda di mana kita mungkin ingin menghitung jumlah kemunculan elemen dalam larik JavaScript. Selain cincin dan reduce()
Kami juga dapat menggunakan metode lain seperti filter()
Untuk menentukan jumlah kemunculan elemen tertentu dalam array.
Untuk melakukan ini, kami memfilternya, lalu mengisi array berdasarkan kondisi, yang menggunakan panjang length
Properti:
const myArray = [false, 24, "English", false, "english", 22, 19, false, "English", 19];
const itemCounter = (array, item) =>
return array.filter((currentItem) => currentItem == item).length;
;
console.log(itemCounter(myArray, 19));
Menggunakan لوداش Untuk menghitung peristiwa elemen
Mungkin sebaiknya tidak menginstal paket tambahan hanya untuk menghitung elemen dalam array, tetapi jika Anda sudah melakukannya لوداش Perpustakaan Dalam proyek kami, menggunakannya untuk menghitung elemen tidak berbahaya. partikel untuk objek langsung .countBy()
Metode di Lodash menerima array dan mengembalikan objek. Objek ini berisi elemen dan nomornya sebagai pasangan nilai kunci:
const myArray = [false, 24, "English", false, "english", 22, 19, false, "English", 19];
let lodash = _;
let elementOccurrences = _.countBy(myArray);
console.log(elementOccurrences);
Ini memberi kita objek:
"19": 2,
"22": 1,
"24": 1,
"false": 3,
"English": 2,
"english": 1
Hasil
Jika Anda perlu menghitung jumlah elemen dalam array, ini mungkin pilihan terbaik untuk digunakan for-of
Loop seperti yang ditunjukkan dalam artikel ini. Dia async
Ini aman, tetapi masih merupakan cara yang sangat sederhana untuk mereplikasi seluruh array dan menghitung elemen. Kami juga melihat alternatif lain – fundamental – pendekatan for
Cincin, forEach()
Dan filter()
Metode.
Jika Anda perlu melihat berapa kali setiap elemen dalam larik, kami juga menyediakannya untuk Anda – Anda bisa for-of
Cincin juga bisa digunakan reduce()
Metode, atau لوداش Perpustakaan
Itu tadi artikel mengenai Hitung jumlah elemen dalam array JavaScript
, terimakasih telah mengunjungi website ini, semoga informasinya ada manfaatnya ya.
[ad_2]
Source link