Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Truy cập object lồng nhau (nested objects) với map() trong JavaScript

Dùng map() duyệt mảng, kiểm tra typeof thuộc tính lồng nhau trước khi truy cập để tránh lỗi.

Ví dụ


var details = [
    {
        id: "101",
        firstName: "John",
        lastName: "Smith",
        age: 25,
        countryName: "US",
        subjectDetails: {
            subjectId: "Java-101",
            subjectName: "Introduction to Java"
        }
    },
    {
        "uniqueId": "details_10001"
    }
];

details.map(obj => {
    if (typeof obj.subjectDetails !== 'undefined') {
        console.log("Subject Name: " + obj.subjectDetails.subjectName);
    }
});

Cách chạy

node demo.js

Kết quả


Subject Name: Introduction to Java

Cách an toàn hơn (optional chaining ES2020):


details.forEach(obj => {
    console.log(obj.subjectDetails?.subjectName ?? "N/A");
});

Lưu ý: map() ở đây chỉ dùng để lặp (side effect), không dùng kết quả trả về. Nên dùng forEach() cho rõ ý图.