javascript - 在 JavaScript 中动态创建复杂对象

标签 javascript object

是否可以在 JavaScript 运行时创建复杂的对象?如果是这样,正确的语法是什么?

var food = {};
food["fruit"]["yellow"] = "banana";
food["meat"]["red"] = "steak";
food."fruit"."green" = "apple";

最佳答案

目前尚不清楚您要做什么。如果您想一次性构建该对象,那么您可以执行以下操作:

var food = {
    fruit: {
        yellow: 'banana',
        green: 'apple'
    },
    meat: {
        red: 'steak'
    }
};

如果您需要一次将一个嵌套对象拼凑在一起,那么您只需确保正在创建一个新对象来添加属性即可。

例如,您的行:

food["fruit"]["yellow"] = "banana";

可能会失败,因为 food.fruit 不存在。

你应该这样做:

var food = {};
food.fruit = {};
food.fruit.yellow = 'banana';

关于javascript - 在 JavaScript 中动态创建复杂对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36091807/

相关文章:

javascript - 检查momentjs中日期文本是否有毫秒和秒

javascript - console.error 抛出异常

javascript - 如何从剑道模板绑定(bind)调用父方法?

javascript - alert() 在 Mac OS 设计中用 Javascript

javascript - 滚动后如何放置窗口中心的div

r - 在 R 中创建空对象

javascript - 从对象中删除属性而不创建新属性(无删除操作)

c++ - 从线程访问对象(使用引用或指针)

java - 通过循环创建多个同名对象

arrays - 如何快速创建对象数组?