2015-06-25 98 views
2

我對JavaScript很新,我剛開始學習對象&數組。我有一個這樣的對象:如何在現有的對象中創建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只適用於數組,因此我沒有選擇。

+1

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

回答

0

試試這個:

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);

+2

在函數內部隱式引用'myObj'是一個相當醜陋的構造;你爲什麼不簡單地返回新對象,以便你可以執行'myObj [3] = myFunc(105,100,200);'? –

+1

對不起。我也是JavaScript新手。感謝您的建議 :) –

1

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