gpt4 book ai didi

JavaScript - 无法设置未定义的属性

转载 作者:IT王子 更新时间:2023-10-29 02:43:15 24 4
gpt4 key购买 nike

我的代码:

var a = "1",
b = "hello",
c = { "100" : "some important data" },
d = {};

d[a]["greeting"] = b;
d[a]["data"] = c;

console.debug (d);

我收到以下错误:

Uncaught TypeError: Cannot set property 'greeting' of undefined.

我正在尝试做一些类似于关联数组的事情。为什么这不起作用?

最佳答案

永远不要将 d[a] 设置为任何值。

因此,d[a] 的计算结果为 undefined,并且您不能在 undefined 上设置属性。

如果您在 d = {} 之后添加 d[a] = {},事情应该会按预期工作。

或者,您可以使用对象初始值设定项:

d[a] = {
greetings: b,
data: c
};

或者您可以在匿名函数实例中设置 d 的所有属性:

d = new function () {
this[a] = {
greetings: b,
data: c
};
};

如果您处于支持 ES2015 功能的环境中,您可以使用 computed property names :

d = {
[a]: {
greetings: b,
data: c
}
};

关于JavaScript - 无法设置未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7479520/

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