首页 > 解决方案 > 从数组中获取对象并推送到新数组

问题描述

我有一个按钮,它创建一个带有类似对象的数组

[{field: field1, operator: operator1, value: 10}]

当我再次单击该按钮时,它将再次创建一个新数组,例如

[{field: field2, operator: operator2, value: 20}]

当我试图将这些推入新数组时,它正在嵌套

[Array(1), Array(1)]

但我希望新数组看起来像

[{field: field1, operator: operator1, value: 10}, {field: field2, operator: operator2, value: 20}]

我的代码

public filterChange(state): void {
    this.filters.push( state.filters );
    console.log(this.filters);
}

每次单击按钮时,“filterChange”都会调用,“state”会给出使用新过滤器值生成的过滤器数组。请建议。谢谢。

标签: javascript

解决方案


尝试使用传播语法。扩展运算符将从数组中获取一个元素:

this.filters.push( ...state.filters );
console.log(this.filters);

一个例子:

let arr1 = [],
arr2 = [{
    user_id: 3, project_name: 'Project A'
}]

arr1.push(...arr2);
console.log(arr1)


推荐阅读