สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ -
const arr = [ { "Country": "BR", "New Lv1−Lv2": "#N/A" }, { "Country": "BR", "New Lv1−Lv2": "#N/A" }, { "Country": "", "New Lv1−Lv2": "test" }];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของอ็อบเจ็กต์ดังกล่าว ฟังก์ชันสร้างและส่งกลับอาร์เรย์ใหม่ที่ไม่มีการทำซ้ำวัตถุ (โดยการทำซ้ำเราหมายถึงวัตถุที่มีค่าเท่ากันสำหรับคุณสมบัติ "ประเทศ")
นอกจากนี้ ฟังก์ชันควรกำหนดคุณสมบัติการนับให้กับแต่ละอ็อบเจ็กต์ที่แสดงจำนวนครั้งที่ปรากฏในอาร์เรย์ดั้งเดิม
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr = [ { "Country": "BR", "New Lv1−Lv2": "#N/A" }, { "Country": "BR", "New Lv1−Lv2": "#N/A" }, { "Country": "", "New Lv1−Lv2": "test" }]; const convert = (arr) => { const res = {}; arr.forEach((obj) => { const key = `${obj.Country}${obj["New Lv1−Lv2"]}`; if (!res[key]) { res[key] = { ...obj, count: 0 }; }; res[key].count += 1; }); return Object.values(res); }; console.log(convert(arr));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
[ { Country: 'BR', 'New Lv1-Lv2': '#N/A', count: 2 }, { Country: '', 'New Lv1-Lv2': 'test', count: 1 } ]