【问题标题】:How to create javascript objects in an existing object [duplicate]如何在现有对象中创建javascript对象[重复]
【发布时间】:2015-09-11 11:14:41
【问题描述】:

我对 javascript 还很陌生,我刚开始学习对象和数组。我有一个这样的对象:

var myObj= {'1'{ID:'1',x:200,y:300},
              '2'{ID:'2',x:100,y:100}};

我愿意在现有对象(“myObj”)中创建另一个对象,以便我可以使用myObj['key'].x 访问它的属性。 假设我想将对象 {ID:'3',x:100,y:200} 添加到 myObj 并使用 myObj[3].x、myObj[3].y 等访问它的属性值,我知道 .push 仅适用于数组,所以我没有选择。

【问题讨论】:

  • myObj['key'] = {x:200}; - 这不是你想要的吗?

标签: javascript object


【解决方案1】:

您可以只使用myObj[3] = {ID:'3',x:100,y:200}; 来添加对象。

【讨论】:

    【解决方案2】:

    试试这个:

    function myFunc(id, x, y){
        var obj={};
        obj.ID = id.toString();
        obj.x = x;
        obj.y = y;
        return obj;
    }
    function myFunc2(id, x, y){
        myObj[id] = myFunc(id, x, y);
    }
    

    您可以使用myObj[3].x从对象中获取“x”值。

    已编辑:使用所需参数调用 myFunc2。例如,myFunc2(3,100,200);

    【讨论】:

    • 函数内部对myObj的隐式引用是一个相当丑陋的结构;你为什么不简单地返回新对象以便你可以做myObj[3] = myFunc(105, 100, 200);?
    • 对不起。我也是 javascript 新手。谢谢你的建议:)
    猜你喜欢
    • 2017-11-20
    • 2015-09-24
    • 2021-07-30
    • 2014-04-28
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2013-11-18
    • 2013-02-08
    相关资源
    最近更新 更多