gpt4 book ai didi

javascript - 如何自动向 undefined object 添加属性?

转载 作者:IT王子 更新时间:2023-10-29 02:55:03 25 4
gpt4 key购买 nike

如果对象尚不存在,是否有一种自动向对象添加属性的简单方法?

考虑以下示例:

var test = {}
test.hello.world = "Hello doesn't exist!"

这不起作用,因为未定义 hello

我问这个问题的原因是因为我有一些现有的对象,我不知道它们是否已经有了 hello。实际上,我的代码的不同部分中有很多这样的对象。总是检查 hello 是否存在以及它是否不创建新对象是非常烦人的,例如:

var test = {}
if(test.hello === undefined) test.hello = {}
test.hello.world = "Hello World!"

有没有办法在这个例子中自动创建一个像hello这样的对象?

我的意思是在 php 中类似的东西:

$test = array();  
$test['hello']['world'] = "Hello world";
var_dump($test);

输出:

array(1) {
["hello"] => array(1) {
["world"] => string(11) "Hello world"
}
}

好的,它是一个数组,但在 js 数组中,它与对象的问题相同。

最佳答案

var test = {};
test.hello = test.hello || {};
test.hello.world = "Hello world!";

如果 test.hello 未定义,它将被设置为一个空对象。

如果之前定义了test.hello,则保持不变。

var test = {
hello : {
foobar : "Hello foobar"
}
};

test.hello = test.hello || {};
test.hello.world = "Hello World";

console.log(test.hello.foobar); // this is still defined;
console.log(test.hello.world); // as is this.

关于javascript - 如何自动向 undefined object 添加属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17643965/

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