2016-10-25 87 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' 
}; 

什么问题?