在js中将对象推送到数组

时间:2017-08-15 16:13:48

标签: javascript arrays object

我尝试使用以下命令将Object推送到Array

a = a.concat(b);

a = [];
b = {a: Object1, b: Object2 ....};

所以我想让数组a像a = [Object1, Object2...]

一样

但上述声明导致:

a = [[Object1, Object2...][Object11, Object12...]];

我如何在JS中实现这一目标?

4 个答案:

答案 0 :(得分:1)

如果我理解你想要什么,你只需要对象,而不是键。所以,可能是:

for( var key in b ){
   var value = b[key];
   a.push(value);
}
console.log(JSON.stringify(a));

希望它有所帮助...

答案 1 :(得分:0)

  

Object.values() 方法返回给定对象自己的可枚举属性值的数组,

您可以使用对象values方法 Object.values() ,例如:

Object.values(b);

示例:

var a = [];
var obj_1 = {'attr_1': 'val_1', 'attr_2': 'val_2'};
var obj_2 = {'attr_3': 'val_3', 'attr_4': 'val_4'};

var b = {'a': obj_1, 'b': obj_2};

a = Object.values(b);

console.log( a );

希望这有帮助。

答案 2 :(得分:0)

您正在使用Array.concat()连接两个数组,您需要使用Array.push()

var a = [ObjectA];
var b = ObjectB;
a.push(b);

// a = [ObjectA, ObjectB];

答案 3 :(得分:0)

let a = [];
let b = {a:1, b:2, c:3};

for(obj in b){
  let val = {};
  val[obj] = b[obj];
  a.push(val);
}

console.log(a);

你的意思是这样吗?