หากต้องการยกเลิกการซ้อนอาร์เรย์ของวัตถุ ให้ใช้แนวคิดของ map() สมมติว่าต่อไปนี้คืออาร์เรย์ของวัตถุของเรา -
const studentDetails = [ { "studentId": 101, "studentName": "John", "subjectDetails": { "subjectName": "JavaScript" } }, { "studentId": 102, "studentName": "David", "subjectDetails": { "subjectName": "MongoDB" } } ];
เราจำเป็นต้องยกเลิกการซ้อน subjectName และแสดงผล ต่อไปนี้เป็นรหัส -
ตัวอย่าง
const studentDetails = [ { "studentId": 101, "studentName": "John", "subjectDetails": { "subjectName": "JavaScript" } }, { "studentId": 102, "studentName": "David", "subjectDetails": { "subjectName": "MongoDB" } } ]; const output = studentDetails.map(obj => ({ studentId: obj.studentId, studentName: obj.studentName, subjectName:obj.subjectDetails.subjectName })); console.log(output);
ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -
node fileName.js.
ผลลัพธ์
ที่นี่ ชื่อไฟล์ของฉันคือ demo92.js สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
PS C:\Users\Amit\JavaScript-code> node demo92.js [ { studentId: 101, studentName: 'John', subjectName: 'JavaScript' }, { studentId: 102, studentName: 'David', subjectName: 'MongoDB' } ]