美文网首页
js嵌套对象访问

js嵌套对象访问

作者: chiugi | 来源:发表于2019-12-20 14:51 被阅读0次

    Oliver Steele的嵌套对象访问模式

    const name = ((user || {}).personalInfo || {}).name;

    使用数组Reduce访问嵌套对象

    const getNestedObject = (nestedObj, pathArr) => {
        return pathArr.reduce((obj, key) =>
            (obj && obj[key] !== 'undefined') ? obj[key] : null, nestedObj);
    }
    
    // 将对象结构作为数组元素传入
    const name = getNestedObject(user, ['personalInfo', 'name']);
    
    // 要访问嵌套数组,只需将数组索引作为数组元素传入。.
    const city = getNestedObject(user, ['personalInfo', 'addresses', 0, 'city']);
    // 这将从 addresses 中的第一层返回 city
    

    Typy库

    import t from 'typy';
    
    const name = t(user, 'personalInfo.name').safeObject;
    const city = t(user, 'personalInfo.addresses[0].city').safeObject;
    // address is an array
    

    相关文章

      网友评论

          本文标题:js嵌套对象访问

          本文链接:https://www.haomeiwen.com/subject/uerunctx.html