javascript - 从数组中获取对象并推送到新数组
问题描述
我有一个按钮,它创建一个带有类似对象的数组
[{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”会给出使用新过滤器值生成的过滤器数组。请建议。谢谢。
解决方案
尝试使用传播语法。扩展运算符将从数组中获取一个元素:
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)
推荐阅读
- reactjs - 部署错误:“MiniCssExtractPlugin”类型的参数不可分配给“插件”类型的参数
- typescript - 分解为预先声明的变量数组的类型注释是否存在一些语法?
- android - 在单元测试中将 StateFlow 观察为 LiveData
- ios - 使用 PHPickerViewController SwiftUI 编辑图像
- sql - 查询未返回预期数据
- java - 调用 GET 请求后出现错误请求
- c - LZMA 解压算法是如何工作的?
- jenkins - 在 Jenkins CI/CD 中回滚到以前的部署版本
- go - 在 go 函数注释中编写代码块的正确方法是什么?
- c++ - 指针指向指针。我们能走多远?