美文网首页
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嵌套对象访问

    Oliver Steele的嵌套对象访问模式 const name = ((user || {}).persona...

  • Optional Chaining(类似lodash.get访问

    介绍 js中,访问被深层嵌套的某个对象的属性时,很容易触发Cannot read property 'foobar...

  • 简单-JS与WebView交互利用JSContext

    JS调用OC JS代码如下:定义的方法有嵌套 需要建立对象,通过对象调用函数对象遵循定义的协议: .h文件: .m...

  • js中如何访问对象和数组

    目录 一、总结 一句话总结:js访问对象点和中括号,访问数组的话就是中括号 1、js访问对象的两种方式? 2、js...

  • 如何安全访问嵌套对象

    请直接跳到文末 当我们在项目中需要读取位于连接对象链深处的属性的值的时候,需要做一些边界处理,否则有可能会报错。 ...

  • 2020-09-11

    什么是虚拟Dom 指的是用js对象的形式,来模拟页面上Dom嵌套关系。(以js对象的形式存在的) 生成vNode-...

  • 常见的类

    嵌套类 内部类 枚举类 密封类 数据类 单例模式 伴生对象 嵌套类 嵌套类是嵌套在其它类中的类 不能访问外部类的成...

  • 知识点

    js访问对象属性两种方式在javascript中我们通常使用.来访问对象的属性,那么也可以使用[ ]来访问对象属性...

  • 静态内部类和非静态内部类的区别

    嵌套类的对象,并不需要其外围类的对象。 即它可以不依赖于外部类实例被实例化。 不能从嵌套类的对象中访问非静态的外围...

  • JS 可选链的好处

    由于JS的动态特性,对象可以具有多层不同的嵌套对象结构。 通常,当咱们处理以下这些对象时: 获取远程JSON数据 ...

网友评论

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

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