相关疑难解决方法(0)

测试是否存在嵌套的JavaScript对象键

如果我有一个对象的引用:

var test = {};
Run Code Online (Sandbox Code Playgroud)

可能(但不是立即)有嵌套对象,如:

{level1: {level2: {level3: "level3"}}};
Run Code Online (Sandbox Code Playgroud)

在最深层嵌套的对象中测试密钥是否存在的最佳方法是什么?

alert(test.level1);收益率undefined,但alert(test.level1.level2.level3);失败了.

我现在正在做这样的事情:

if(test.level1 && test.level1.level2 && test.level1.level2.level3) {
    alert(test.level1.level2.level3);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法.

javascript nested properties object

616
推荐指数
19
解决办法
21万
查看次数

JS解构.如何处理null或undefined值

如何在实现Nullable功能?我需要支持我以前的同事的源代码,他使用了过多的解构功能.像这样的东西,每个地方:

dispatch(
    loadImports(response.items.map(({ importRecord: { ['import']: importId } }) => importId))
)
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我可能会收到TypeError: Cannot read property 'import' of null错误.

我不想将整个结构重写为常规条件.或者如果没有,如何处理它们,而不重写?

UPD:

同事的预期版本:https: //jsbin.com/fesewiy/edit?js,console

当前版本:https://jsbin.com/qirixil/edit?js,console

javascript ecmascript-6

7
推荐指数
1
解决办法
2022
查看次数

标签 统计

javascript ×2

ecmascript-6 ×1

nested ×1

object ×1

properties ×1