如何将对象添加到现有对象中 Angularjs

6

我有两个对象,一个仅用于保存一个问题的答案,另一个是最终对象。例如:

  answer = {"value":"asda","indicator":"good"};
  final = {}  ;

我希望将答案对象附加到最终对象中,就像这样:
final = {{"value":"asda","indicator":"good"},{"value":"sdad","indicator":"worse"}}

我该怎么做呢?

请插入您尝试的代码。 - Chetan
最终结果不是对象,我认为。 - Mahi
我认为这与一个问题相同:https://dev59.com/42Ij5IYBdhLWcg3wnmTA - Rai Vu
是的,@Mahi同意,最终必须是数组。 - Chetan
这是不可能的,我在这里尝试怎么样?@Mahi - Suraz Khanal
不,这是不可能的。最终结果应该是数组。 - Mahi
4个回答

3
var answer = {"value":"asda","indicator":"good"};

var final = [] //declare it as Array.

final = final.concat(answer);

更新的答案:

使用ecma6,可以使用扩展运算符来完成。

var answer = {"value":"asda","indicator":"good"};
final = {{"value":"sdad","indicator":"worse"}}   
final  = {...final,answer };//final as an object

或者

var answer = {"value":"asda","indicator":"good"}; 
final = {{"value":"sdad","indicator":"worse"}}   
final  = [...final,answer ]; //final as an array.

谢谢,声明为数组是至关重要的。 - Bruno Freitas

1
为了将答案对象附加到最终结果中,最终结果必须是一个数组。
var final =[];
final.push({"value":"asda","indicator":"good"}) 
or
final.push(answer);

1
你不能直接追加一个对象。相反,你需要将对象保存在一个数组中,像下面这样。
answer = {"value":"asda","indicator":"good"};
final = [];
newObject = {"value":"sdad","indicator":"worse"};

现在您可以将两个对象推入数组中,例如 -
final.push(answer);
final.push(newObject);

这将产生的结果是 -

final = [{"value":"asda","indicator":"good"},{"value":"sdad","indicator":"worse"}];

2
你的回答不正确,因为问题是“如何将对象附加到现有对象angularjs中?”你创建了一个包含2个对象的数组。 - Kamlesh

1
如果你正在使用ES2015,你可以这样做:

const answer = {"value":"asda","indicator":"good"};
const final = [].concat(Object.assign({}, answer))

或者'Ghazanfar'也是有效的


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接