如何在json数组中动态添加对象?

时间:2019-08-01 18:39:00

标签: json angular

我正在尝试在json数组中存在的每个对象内动态添加一个对象。但是我做不到。我的对象被追加到json的末尾,这不是我想要的。

bindError

-----预期的输出是

jsonArray:any=[
    {
        "id": 1000,
        "body": "some comment",
        "postId": 1
    },
    {
        "id": 2,
        "body": "some comment",
        "postId": 1
    },
    {
        "id": 3,
        "body": "some comment",
        "postId": 1
    }
]

selectFLag:any={"selected":"true"}

temArray:any;

learnJSONPArse()
{
    for (var i = 0; this.jsonArray.length > i; i++) 
    {
        Alert(this.jsonArray.length)
    }
}

this.jsonArray.push(this.selectFLag)

1 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,但是听起来您想map将数组中的每个项目都添加到一个新项目中。新项目与旧项目相同,但是assign增加了一个附加属性。

如果是这样,这样的事情可能对您有用:

const objToAppend = { selected: true };
jsonArray.map(item => Object.assign(item, objToAppend));

参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map