Dalam siaran ini kita akan mempelajari tentang kaedah tatasusunan Javascript yang biasa digunakan yang menggunakan fungsi lelaran dan panggil balik untuk mengarkibkan kefungsiannya.
lelaran merujuk kepada pelaksanaan berulang set pernyataan atau blok kod, yang membolehkan kami melakukan operasi yang sama beberapa kali.
Dalam istilah mudah, Panggilan balik ialah definisi fungsi yang dihantar sebagai hujah kepada fungsi lain.
Untuk memastikan perkara mudah, kami akan memberi tumpuan kepada tiga perkara ini.
Sebelum kita meneruskan, mari kita fahami bagaimana kaedah tatasusunan ini distrukturkan.
// Kaedah tatasusunan(panggilan balik(syarat yang ingin kami laksanakan pada setiap item dalam tatasusunan kami))
Setiap kaedah tatasusunan ini ialah fungsi yang menerima panggilan balik sebagai hujah, dalam panggilan balik inilah kami menentukan syarat yang ingin kami laksanakan pada setiap item tatasusunan kami.
Kami akan menggunakan tatasusunan objek ini untuk contoh kami.
`data const = [
{
"Id pengguna": 1,
"nama pengguna": "Francis",
"message": "Hei, apa khabar?",
"cap masa": "2024-02-18T12:30:00Z",
"status": "dalam talian",
"messageSent": 28,
"peranan": "pengguna",
"Kod Laluan": "293087O7764"
},
{
"Id pengguna": 2,
"nama pengguna": "Musa",
"message": "Not bad, just working on a project.",
"cap masa": "2024-02-18T12:35:00Z",
"status": "jauh",
"messageSent": 74,
"peranan": "pengguna",
"Kod laluan": "675147O2234"
},
{
"Id pengguna": 3,
"nama pengguna": "Vicky",
"message": "Hei semua! Apakah gosip terkini?",
"cap masa": "2024-02-18T12:40:00Z",
"status": "dalam talian",
"messageSent": 271,
"peranan": "moderator",
"Kod laluan": "76352O8069"
},
{
"Id pengguna": 4,
"nama pengguna": "Junior",
"message": "Tidak banyak, hanya bersantai. Bagaimana dengan anda?",
"cap masa": "2024-02-18T12:45:00Z",
"status": "luar talian",
"messageSent": 125,
"peranan": "pentadbir",
"Kod laluan": "21876O3483"
}
]`
forEach: forEach digunakan apabila kami ingin melaksanakan syarat pada semua item tatasusunan kami. forEach kembali tidak ditentukan.
fungsi getMessageSent(pengguna){
biarkan sumMessageSent = 0;
pengguna.untukSetiap(fungsi(pengguna){
sumMessageSent += user.messageSent;
})
kembalikan sumMessageSent;
}
getMessageSent(data) // output: 498
reduce: reduce digunakan untuk mengurangkan tatasusunan kepada nilai tunggal contohnya tatasusunan ini [8, 7, 3] boleh dikurangkan kepada nombor 18. pengurang mengembalikan nilai tunggal.
Fungsi pengurang mengambil dua parameter pertama pengurang(yang terdiri daripada jumlah dan arus) dan kedua nilai permulaan
Jumlah : ini dikenali sebagai penumpuk. jumlah yang saya panggil ialah nilai pengiraan terakhir bagi fungsi pengurang.
Arus merujuk kepada satu item tatasusunan. dalam kes kami, kami mempunyai empat item(semasa).
Nilai permulaan ialah nilai yang kami tetapkan kepada jumlah pada panggilan pertama. hanya katakan initalValue ialah nilai lalai daripada jumlah
const getMessageSent = (pengguna) => {
kembalikan pengguna.reduce((jumlah, semasa) => jumlah += semasa.messageSent, 0)
}
getMessageSent(data) // output: 498
penapis: Array.filter digunakan apabila kita ingin mengumpul item sahaja dalam tatasusunan yang memenuhi syarat tertentu. array.filter mengembalikan tatasusunan.
const onlineUsers = (users) => {
kembalikan pengguna.penapis(pengguna => status pengguna === "dalam talian")
}
Pengguna dalam talian(data) // output: [objek objek]
find Array.find digunakan apabila kita ingin mendapatkan hanya item tatasusunan pertama yang memenuhi syarat yang ditentukan dalam panggilan balik. array.find mengembalikan item pertama BUKAN dalam tatasusunan tetapi dalam format item, dalam kes kami, ia akan menjadi objek atau tidak ditentukan jika tiada padanan ditemui.
const getUserRole = (pengguna) => {
kembalikan users.find(user => user.role === "user")
}
getUserRole(data) // output: {userId: 1, nama pengguna: 'Francis', mesej: "Hei, apa khabar?", cap masa: '2024-02-18T12:30:00Z', status: ' dalam talian', …}
Perhatikan bagaimana hanya pengguna pertama yang memenuhi syarat dikembalikan.
map Array.map digunakan apabila kita ingin mengubah item dalam tatasusunan. array.map mengembalikan tatasusunan item diubah yang memenuhi syarat dalam panggilan balik kami.
const getUserNameAndPass = (pengguna) => {
return users.map((user) => {
const userPassCode = user.passCode.slice(-4);
return${user.username} ${userPassCode.padStart(
user.passCode.length,
"★"
)};
});
};
getUserNameAndPass(data)// output:['Francis ★★★★★★★★7764', 'Moses ★★★★★★★2234', 'Vicky ★★★★★★8069', 'Junior ★ ★★★★★3483']
setiap tatasusunan.setiap digunakan apabila kami ingin menyemak sama ada semua item tatasusunan melepasi syarat yang kami tetapkan. array.every mengembalikan boolean. benar jika semua item melepasi syarat dan salah jika mana-mana item gagal syarat.
const isOnline = data.every(user => dataItem.status === 'online')
console.log(isOnline) // output:false
Sesetengah tatasusunan.sesetengahnya digunakan apabila kita ingin menyemak bahawa sesetengah item tatasusunan melepasi syarat givin. array.sesetengah mengembalikan boolean. benar jika sesetengah item melepasi syarat dan salah jika semua item lulus atau gagal.
const isOnline = data.every(user => dataItem.status === 'online')
console.log(isOnline) // output: true
Ini adalah beberapa kaedah tatasusunan yang digunakan secara meluas.
Atas ialah kandungan terperinci Kaedah Tatasusunan Javascript yang biasa digunakan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!