const arr = [   { name: 'Dan', age: 33, color: 'red' },   { name: 'Mike', age: 21, color: 'blue' },   { name: 'Lance', age: 20, color: 'green' },   { name: 'Layne', age: 21, color: 'blue' },   { name: 'Dan', age: 18, color: 'red' } ];

const getUsersWithEyeColor = list =>
  list.filter((user, colour) => {
    return user.eyeColor.includes(colour);
  });


log(getUsersWithColor(arr, 'blue'));

Saya ingin memfilter array objek secara dinamis, menggunakan fungsi array, tetapi saat ini saya mendapatkan array kosong.

2
ElMuchacho 27 Mei 2020, 20:20

1 menjawab

Jawaban Terbaik

Fungsi Anda membutuhkan dua argumen sehingga seharusnya: (list, colour) =>... dan Anda perlu membandingkan nilainya sehingga .includes() tidak diperlukan:

const arr = [   { name: 'Dan', age: 33, color: 'red' },   { name: 'Mike', age: 21, color: 'blue' },   { name: 'Lance', age: 20, color: 'green' },   { name: 'Layne', age: 21, color: 'blue' },   { name: 'Dan', age: 18, color: 'red' } ];

const getUsersWithColor = (list, colour) =>
  list.filter(user => user.color === colour);


console.log(getUsersWithColor(arr, 'blue'));

user mewakili elemen tunggal dari list

1
mickl 27 Mei 2020, 17:23