2016-10-25 89 views
-3
var objA = { 
    title: "", 
    subtitle: "" 
}; 

var objB = { 
    properties: { 
     title: "", 
     subtitle: "" 
    } 
}; 

objB.properties.title = objA.title; 

我已經使用上述代碼行屬性從一個對象到對象another.My結構映射需要改變到以下以下內容: -的Javascript修改對象屬性

VAR LANG =「en」的;

objB = { 
    properties: { 
     title: { 
      en: "" 
     }, 
     subtitle: { 
      en: "" 
     } 
    } 
}; 

什麼應該是相應的更改的代碼語法? 對不起,如果問題似乎很愚蠢,我是JS新手。

+7

那麼是什麼阻止你這樣做? – gkb

回答

1

您必須閱讀:Working with objects

與所有JavaScript變量一樣,對象名稱(可以是普通變量)和屬性名稱都區分大小寫。您可以定義/被分配給它的值更改屬性:

var a = { 
 
    hello : "hi", 
 
    name : "Rohan" 
 
}; 
 

 
a.name = { 
 
    en: a.name 
 
}; 
 

 
console.log(a);

+0

你可以再看看問題嗎?我稍微修改了它。 –

+0

隨着對象'objB'的改變,語法應該是:'objB.properties.title.en = objA.title;' –

+0

您只需將'objA.title'值賦給對象屬性'objB.properties。 title.en' –

1
var a = { hello : "hi", name : "Rohan" }; 

a.name = {en: a.name}; 
//or 
a["name"] = {"en": a["name"]} 
+0

以點表示方式訪問對象屬性更好:'a.name' –

+0

那是真的,但是如果鍵有空格或任何其他無效字符,就會添加示例'a = {「first-name」:「Rohan 「}」'a = {「first name」:「Rohan」}' –

1
var a = {'hello': 'hi'}; 

a.name = { 
    'en': 'Rohan' 
}; 

什麼問題?