如何将2个javascript对象合并到一个数组中?
我有这样的物体:如何将2个javascript对象合并到一个数组中?,javascript,Javascript,我有这样的物体: { "aa": "11", "bb" : "22", "cc" : "33" } { "aa": "text1", "bb" : "text2", "cc" : "text3" } 我需要把这些合并成这个数组 [ ["text1", "11"], ["text2", "22"], ["text3", "33"] ] 有没有一个简单的方法可以做到这一点 var objects = [{ "aa": "11", "bb": "22", "cc": "33
{ "aa": "11", "bb" : "22", "cc" : "33" }
{ "aa": "text1", "bb" : "text2", "cc" : "text3" }
我需要把这些合并成这个数组
[ ["text1", "11"], ["text2", "22"], ["text3", "33"] ]
有没有一个简单的方法可以做到这一点
var objects = [{
"aa": "11",
"bb": "22",
"cc": "33"
}, {
"aa": "text1",
"bb": "text2",
"cc": "text3"
}];
var result = [];
for (var key in objects[1]) {
result.push([objects[1][key], objects[0][key]]);
}
console.log(result);
# [ [ 'text1', '11' ], [ 'text2', '22' ], [ 'text3', '33' ] ]
或
如果对象在两个不同的变量中,像这样
var o1 = { "aa": "11", "bb" : "22", "cc" : "33" },
o2 = { "aa": "text1", "bb" : "text2", "cc" : "text3" };
然后
或
如果对象在两个不同的变量中,像这样
var o1 = { "aa": "11", "bb" : "22", "cc" : "33" },
o2 = { "aa": "text1", "bb" : "text2", "cc" : "text3" };
然后
以下是一些只是为了好玩的JS FP:
var o1 = { "aa": "11", "bb" : "22", "cc" : "33" },
o2 = { "aa": "text1", "bb" : "text2", "cc" : "text3" };
var values = function(obj) {
return Object.keys(obj).map(function(key) {
return obj[key];
});
};
function zip(arrays) {
return arrays[0].map(function(_,i){
return arrays.map(function(array) {
return array[i];
});
});
}
var zipped = zip([
values(o1),
values(o2)
]);
console.log(zipped);
PS:
zip
函数实现借用于这里有一些JS FP只是为了好玩:
var o1 = { "aa": "11", "bb" : "22", "cc" : "33" },
o2 = { "aa": "text1", "bb" : "text2", "cc" : "text3" };
var values = function(obj) {
return Object.keys(obj).map(function(key) {
return obj[key];
});
};
function zip(arrays) {
return arrays[0].map(function(_,i){
return arrays.map(function(array) {
return array[i];
});
});
}
var zipped = zip([
values(o1),
values(o2)
]);
console.log(zipped);
PS:
zip
函数实现借用于一个更简单的方法是:
var a = { "aa": "11", "bb": "22", "cc": "33" };
var b = { "aa": "text1", "bb": "text2", "cc": "text3" };
var c=[];
$.each(a, function (index, value) {
c.push(a[index], b[index]);
});
PS:使用jQuery一个更简单的方法是:
var a = { "aa": "11", "bb": "22", "cc": "33" };
var b = { "aa": "text1", "bb": "text2", "cc": "text3" };
var c=[];
$.each(a, function (index, value) {
c.push(a[index], b[index]);
});
PS:使用jQuery大家试试这个。希望它对你有用
var x = { "aa": "11", "bb" : "22", "cc" : "33" }
var y = { "aa": "text1", "bb" : "text2", "cc" : "text3" }
var a = [];
var b = [];
for(var k in x){ a.push(k);}
for(var i = 0; i<a.length;i++){
var c = [];
c.push(x[a[i]]);
c.push(y[a[i]]);
b.push(c);
c = [];
}
console.log(b);
var x={“aa”:“11”、“bb”:“22”、“cc”:“33”}
变量y={“aa”:“text1”,“bb”:“text2”,“cc”:“text3”}
var a=[];
var b=[];
对于(var k in x){a.push(k);}
对于(var i=0;i大家试试这个。希望它对你们有用
var x = { "aa": "11", "bb" : "22", "cc" : "33" }
var y = { "aa": "text1", "bb" : "text2", "cc" : "text3" }
var a = [];
var b = [];
for(var k in x){ a.push(k);}
for(var i = 0; i<a.length;i++){
var c = [];
c.push(x[a[i]]);
c.push(y[a[i]]);
b.push(c);
c = [];
}
console.log(b);
var x={“aa”:“11”、“bb”:“22”、“cc”:“33”}
变量y={“aa”:“text1”,“bb”:“text2”,“cc”:“text3”}
var a=[];
var b=[];
对于(var k in x){a.push(k);}
对于(var i=0;i您尝试过什么吗?我知道我当然可以用两个循环来实现这一点,但有没有更简单的方法?定义“更简单”。带循环的三行解决方案对您来说“复杂”吗?AnArray=[{Objectname:ObjectValue,Objectname2:ObjectValue2},{Objectname:ObjectValue,Objectname2,ObjectValue2}];
然后:AnArray[Index}].Objectname1
(或2或用于对象名称的任何东西)你是说像这个示例对象数组吗?我想我希望像python zip这样的东西,但是一个简单的循环可以很好地工作。谢谢你尝试了什么?我知道我当然可以用几个循环来完成,但是有没有更简单的方法?定义“更简单”。3行解决方案是使用循环吗对你来说“复杂”?AnArray=[{Objectname:ObjectValue,Objectname2:ObjectValue2},{Objectname:ObjectValue,Objectname2,ObjectValue2}];
然后:AnArray[Index#].Objectname1
(或2或用于对象名称的任何内容)你的意思是像这个示例对象数组吗?我想我希望像python zip这样的东西,但是一个简单的循环就可以了。谢谢1。什么是$
?2.{}
没有push
方法,但是,$
到底是什么?你是使用jquery还是只使用javascript?我不是OP。问题标签中没有任何jquery
。如果允许使用第三方库,这将是一行解决方案:.zip
()$是jquery对象1。$
.2.{}
没有push
方法,但是,$
到底是什么?你使用的是jquery还是javascript?我不是OP。问题标签中没有任何jquery
。如果允许使用第三方库,这将是一行解决方案:.zip
()$是jquery对象感谢POST zip实现,这将非常有用。不过我接受了另一个答案,因为它更简单。@zerkms的功能是什么(551;,I)
的意思是?@Dileep:这是一个匿名函数,它接受两个参数:第一个参数是\uu
名称,第二个参数是i
。请记住.map()
传递值和键-前一个参数是值,第二个参数是键。\u
只是一个“常规”参数“要丢弃的参数的名称-您可能已经注意到它没有被使用,而只是i
。一旦我们需要i
,我们就不能忽略第一个参数,因此需要给它一些名称。PS:询问我的复杂描述是否难以获得:-)@虫族哥们,你脑子里有一台超级计算机..!!花了一段时间才明白,但逻辑很棒;-)@Dileep:不是我-我借的(并为它加了一笔账),但它很“简单”,无论如何都要重新发明,不是吗?谢谢你发布的zip实现,不管怎样都会有用的。我接受了另一个答案,因为它更简单。@zerkms函数(u,I)
是什么意思?@Dileep:它是一个匿名函数,接受两个参数:第一个参数是\uu
名称,第二个参数是I
。记住.map()
传递值和键-前一个是值,第二个是键\uu
只是一个要丢弃的参数的“常规”名称-您可能已经注意到它没有被使用,而只是i
。只要我们需要i
,我们就不能忽略第一个参数,因此需要给它取个名字。附言:问一下我的复杂描述是不是很难理解:-)@zerkms,伙计,你脑子里有一些超级计算机。。!!花了一段时间才理解,但逻辑非常棒;-)@迪利普:不是我,我借了它(并把它归功于它),但它的“简单”改造反正是不是?