Objek JavaScript tidak dapat diubah seperti array atau string, jadi kami tidak dapat menggunakan metode filter() secara langsung pada const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 0. filter() memungkinkan kita untuk beralih melalui array dan hanya mengembalikan item dari array yang sesuai dengan kriteria tertentu, ke dalam array baru
Jika Anda ingin membaca lebih lanjut tentang metode filter() - baca Panduan kami untuk Metode filter() JavaScript
Pada artikel ini, kita akan mengeksplorasi cara memfilter Objek menggunakan kuncinya di JavaScript
Objek pada dasarnya adalah peta properti dan nilainya. Set pasangan kunci-nilai ini adalah apa yang dimaksud dengan objek. Kami secara alami dapat mengekstrak kunci dan nilai satu per satu
Kunci diekstraksi menggunakan const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; _2, sedangkan nilai diekstraksi menggunakan const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 3. Untuk mengambil kunci dan nilai, Anda juga dapat menggunakan const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 4. Kami hanya memperhatikan kunci dalam artikel ini, untuk memfilter kunci berdasarkan kriteria tertentu
Menggunakan Objek. keys() untuk memfilter Objek
Metode const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 2 digunakan untuk menghasilkan array yang elemennya adalah string yang berisi nama (kunci) dari properti objek. Objek diteruskan sebagai argumen ke const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 2
Object.keys(objectName); _Misalnya, misalkan kita memiliki objek skor pengguna dalam berbagai mata pelajaran
Kita dapat mengulang melalui objek dan mengambil kunci, yang untuk contoh ini akan menjadi subjeknya
Setelah Anda membuat kunci, Anda dapat menggunakan filter() untuk mengulangi nilai yang ada dan mengembalikan hanya yang memenuhi kriteria yang ditentukan. Terakhir, Anda dapat menggunakan const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; _8 untuk mengumpulkan kunci yang difilter dan nilainya ke objek baru, misalnya
Catatan. filter()_ hebat dalam merangkai dengan metode fungsional lainnya
Asumsikan kita memiliki Objek, dan kita hanya ingin mengembalikan pasangan kunci-nilai dengan kata "nama" di kunci
Kita bisa memfilter dengan memanfaatkan kunci Objects
const names = Object.keys(user) .filter((key) => key.includes("Name")) .reduce((obj, key) => { return Object.assign(obj, { [key]: user[key] }); }, {}); console.log(names);Kami memanfaatkan const user = { firstName: "John", lastName: "Doe", userName: "johndoe12", email: "[email protected]", age: 37, hobby: "Singing" }; _0 untuk menghasilkan semua kunci sebagai larik, menghasilkan larik
["firstName","lastName","userName","email","age","hobby"]Kami kemudian menggunakan fungsi array const user = { firstName: "John", lastName: "Doe", userName: "johndoe12", email: "[email protected]", age: 37, hobby: "Singing" }; _1 sebagai kriteria, dalam metode filter(), untuk membahas setiap elemen dalam array untuk menentukan apakah ada kunci yang menyertakan kata "Nama"
["firstName","lastName","userName"]Kemudian, kami memanfaatkan const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; _8 untuk mengurangi array menjadi objek
Catatan. Fungsi const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 8 menerima dua argumen. objek sebagai parameter pertama (identitas) dan nilai iterasi saat ini sebagai yang kedua
Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan menyertakan lembar contekan. Hentikan perintah Googling Git dan benar-benar pelajari itu
Kami menggunakan const user = { firstName: "John", lastName: "Doe", userName: "johndoe12", email: "[email protected]", age: 37, hobby: "Singing" }; _5 untuk menggabungkan objek sumber menjadi objek target di objek baru yang dihasilkan. Fungsi const user = { firstName: "John", lastName: "Doe", userName: "johndoe12", email: "[email protected]", age: 37, hobby: "Singing" }; 5 mengambil const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 0 yang sedang dibuat dan menambahkan pasangan nilai kunci saat ini yang kita teruskan ke dalamnya
Dan pada akhirnya - kami memiliki objek baru, difilter dengan kunci
{ firstName: 'John', lastName: 'Doe', userName: 'johndoe12' }Saring Array Objek dengan Kunci
Seringkali, objek yang sedang kita proses diurutkan dalam sebuah array. Memfilter masing-masing semudah memfilter satu - kami hanya mengulangi array dan menerapkan langkah-langkah yang sama
const users = { John: { username: 'johncam112', age:19 }, Daniel: { key: 'Dandandel1', age:21 }, Ruth: { key: 'rutie01', age:24 }, Joe: { key: 'Joemathuel', age:28 } }; const selectedUsers = ['Ruth', 'Daniel']; const filteredUsers = Object.keys(users) .filter(key => selectedUsers.includes(key)) .reduce((obj, key) => { obj[key] = users[key]; return obj; }, {}); console.log(filteredUsers);Dalam contoh di atas, kami memfilter objek Users untuk hanya mengembalikan objek dari const user = { firstName: "John", lastName: "Doe", userName: "johndoe12", email: "[email protected]", age: 37, hobby: "Singing" }; 8, memfilternya dengan kunci
{ Daniel: { key:"Dandandel1", age:21 }, Ruth: { key:"rutie01", age:24 } }Kesimpulan
Dalam artikel singkat ini - kita telah melihat pemfilteran objek berdasarkan nilai, menggunakan metode const userScores = { chemistry: 60, mathematics: 70, physics: 80, english: 98 }; 2, difilter melalui metode filter()