【发布时间】:2020-04-04 21:49:52
【问题描述】:
我向 api 发送一个 get 请求,它以
的形式返回数据{
"message": "<SUCCESS>",
"result": [
{
"i": 1,
},
{
"i": 2,
},
{
"i": 3,
} ]
}
然后在 javascript (angular component.ts) 中我想创建一个数组 ob 对象,但是在将对象推送到数组中之后,每个数组都包含最后一个对象的数据:
.subscribe(
data => {
type MyArrayType = Array<UserOpinion>;
let array: MyArrayType = [];
let cont: CustomInterface = {
i: ''
}
data.result.forEach(function(entry) {
cont.i = entry["i"];
array.push(cont);
console.log(cont);
//right value is shown
})
//console.log(array)
//array contains the connect number of objects but the objects are set on the same value: "i" = 3
任何想法为什么会发生这种情况?谢谢
【问题讨论】:
-
因为只有1个
cont。您需要在forEach中创建一个新对象。 -
谢谢零!我应该使用哪种语法?
-
只需将您的
let cont声明移动到forEach内部而不是它之前 -
非常感谢!这有效
-
"然后在 javascript (angular component.ts) 中我想创建一个数组 ob 对象" 但是你已经有一个对象数组:
let array: UserOpinion[] = data.result;
标签: javascript arrays angular interface request