Javascript Angularjs连接两个对象

Javascript Angularjs连接两个对象,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,我有两个目标: obj1 = { 'id1': 1, 'name1': 'anyone1', 'birth1': 22, 'year1': 1993 }; obj2 = { 'id2': 1, 'name2': 'anyone', 'birth2': 22, 'year2': 1993 }; 我想创建一个数组,如: ARRAY = { obj1 = { 'id1': 1, 'name1': 'anyone1', 'birth1'

我有两个目标:

obj1 = { 'id1': 1, 'name1': 'anyone1', 'birth1': 22, 'year1': 1993 };

obj2 = { 'id2': 1, 'name2': 'anyone', 'birth2': 22, 'year2': 1993 };
我想创建一个数组,如:

ARRAY = {

          obj1 = { 
                    'id1': 1, 'name1': 'anyone1', 'birth1': 22, 'year1': 1993                  
                 },   

        obj2 = { 
                  'id2': 1, 'name2': 'anyone', 'birth2': 22, 'year2': 1993 
                }

          }
我想将其命名为“
ARRAY.obj1.id1


我该怎么做

解决方案是使用两个
键创建一个新的
对象

obj1={'id1':1,'name1':'anyone1','birth1':22,'year1':1993};
obj2={'id2':1,'name2':'any','birth2':22,'year2':1993};
var obj={};
obj[“obj1”]=obj1;
obj[“obj2”]=obj2;
控制台日志(obj);

console.log(obj.obj1.id1)
解决方案是使用两个
键创建一个新的
对象

obj1={'id1':1,'name1':'anyone1','birth1':22,'year1':1993};
obj2={'id2':1,'name2':'any','birth2':22,'year2':1993};
var obj={};
obj[“obj1”]=obj1;
obj[“obj2”]=obj2;
控制台日志(obj);
console.log(obj.obj1.id1)另一个示例使用:

obj1={'id1':1,'name1':'anyone1','birth1':22,'year1':1993};
obj2={'id2':1,'name2':'any','birth2':22,'year2':1993};
var obj3=Object.assign({},{obj1:obj1},{obj2:obj2});
控制台日志(obj3)另一个示例使用:

obj1={'id1':1,'name1':'anyone1','birth1':22,'year1':1993};
obj2={'id2':1,'name2':'any','birth2':22,'year2':1993};
var obj3=Object.assign({},{obj1:obj1},{obj2:obj2});

控制台日志(obj3)此外,由于这是一个角度问题,您还可以使用以下函数:

var obj1={'id1':1,'name1':'anyone1','birth1':22,'year1':1993};
var obj2={'id2':1,'name2':'any','birth2':22,'year2':1993};
var obj3=angular.extend({},{obj1:obj1,obj2:obj2});
控制台日志(obj3)

此外,由于这是一个角度问题,您还可以使用以下函数:

var obj1={'id1':1,'name1':'anyone1','birth1':22,'year1':1993};
var obj2={'id2':1,'name2':'any','birth2':22,'year2':1993};
var obj3=angular.extend({},{obj1:obj1,obj2:obj2});
控制台日志(obj3)
使用

等等

你要的是一张
地图
。在ES6之前,我们使用普通对象作为映射,但是我们遇到了与名称冲突相关的各种安全风险和异常,特别是当供应商特定的属性出现在
Object.prototype
中时。ES6引入了
映射
,这样我们就再也不会这样做了,取而代之的是我们真正想要的保证干净的名称空间。

使用

等等


你要的是一张
地图
。在ES6之前,我们使用普通对象作为映射,但是我们遇到了与名称冲突相关的各种安全风险和异常,特别是当供应商特定的属性出现在
Object.prototype
中时。ES6引入了
映射
,这样我们就再也不会这样做了,取而代之的是保证干净的名称空间,就像我们真正想要的那样。

这很让人困惑。。。为什么要将对象命名为“数组”?您是否有意误导其他开发人员?:D@Canastro,例如,请参见PHP中的关联数组。它们在那里的使用非常类似于我们在JS中使用对象文本。但我同意,名字有时很重要。是的,在php中我们有关联数组,在javascript中我更喜欢称之为
map
。我非常喜欢在javascript中使用映射,我喜欢
normalizer
。我这样做是因为,我创建了一个这样的复合对象,这让人非常困惑。。。为什么要将对象命名为“数组”?您是否有意误导其他开发人员?:D@Canastro,例如,请参见PHP中的关联数组。它们在那里的使用非常类似于我们在JS中使用对象文本。但我同意,名字有时很重要。是的,在php中我们有关联数组,在javascript中我更喜欢称之为
map
。我非常喜欢在javascript中使用映射,我喜欢
normalizer
。我这样做是因为,我创建了一个复合对象,就像真的不应该命名那个对象数组一样。我不知道这个问题解决了什么;如果它满足OP,那很好,但是OP的问题是他不知道对象在js中是如何工作的。从技术上讲,你甚至不需要方括号和引号来让一个对象做到这一点。但是假设我们提出了一个名为
obj[“hasOwnProperty”]
的元素。这就是为什么我们在ES6中有
Map
类,而OP应该使用这个类。@kfm,不要忘记接受答案以帮助其他人。真的不应该命名那个对象数组。我不知道这个问题解决了什么;如果它满足OP,那很好,但是OP的问题是他不知道对象在js中是如何工作的。从技术上讲,你甚至不需要方括号和引号来让一个对象做到这一点。但是假设我们提出了一个名为
obj[“hasOwnProperty”]
的元素。这就是为什么我们在ES6中有
Map
类,OP应该用它来代替。@kfm,不要忘记接受答案以帮助其他人。
var myNamedStuff = new Map;
myNamedStuff.set("obj1", obj1);