gpt4 book ai didi

javascript - 从嵌套 JavaScript 对象检索属性的最有效方法是什么?

转载 作者:行者123 更新时间:2023-12-02 21:49:38 25 4
gpt4 key购买 nike

我使用具有嵌套数据的 API。数据以小页面形式发送(一次 <10 个 JSON 对象),检索到的信息仅在该页面上使用,不会在整个 session 中持续存在。我尝试过使用 Immutable JS 和 Native JS 来存储 JSON。我使用不可变的问题是,为了将信息呈现到模板中,它将经历一系列像这样的类型转换。

    JSON -> JS -> ImmutableMap -> JS

所以我更喜欢使用原生 JS。缺点是不可变 JS 的 API 对于使用 getIn() 检索映射中的字段非常方便。对于 native JS,我使用方括号来访问嵌套对象字段。

    const A = { B : { C: D }};
const d = A['B']['C'];

这可能非常冗长。我不确定不可变 JS 是否能为我的用例提供更好的性能。它不是一个大的对象映射,我认为从 JS 转换为不可变的回 JS 会产生一些开销。但是,我也不确定使用方括号访问嵌套对象属性的防御性如何。

最佳答案

使用点访问

您可以按如下方式访问您的数据:

const A = { B : { C: 'D' }};
const d = A.B.C;

doesn't seem使用方括号或点运算符访问属性有很大区别。

解构

您还可以通过解构实现完全相同的效果:

const A = { B : { C: 'D' }};
const { B: { C: d }} = A;

处理未定义

为了避免未定义,您可以在解构中使用默认值:

const getD = ({B : { C :d } = {}} = {}) => console.log(d)
getD(undefined);// -> undefined

或者

const { B: { C : d } = {} } = {}
console.log(d); // -> undefined

关于javascript - 从嵌套 JavaScript 对象检索属性的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60159440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com