javascript - 使用扩展运算符将对象推入数组?
问题描述
我有一个这样的对象数组,
let array1 = [{id:1,name:'One'}]
每当我调用 api 时,对象数组都会像这样更新
let array2 = [{id:1,name:'One'}, {id:2, name:'Two'}]
第三次,会是这样,
let array3 = [{id:1,name:'One'}, {id:2, name:'Two'}, {id:3, name: 'Three'}]
现在我正在尝试为数组中的每个对象添加键值对作为
obj = {
key: 'value'
}
[...array1, obj]
我得到一个像[{id:1,name:'One'},{key: 'value'}]
但预期的输出是[{id:1,name:'One',key: 'value'}]
在每次 api 调用之后对象应该被推入一个数组
解决方案
如果要为数组中的每个对象添加键值对,除了使用扩展语法之外,还需要映射数组
let array1 = [{id:1,name:'One'}]
const obj = {
key: 'value'
}
array1 = array1.map(val => ({...val, ...obj}))
console.log(array1);
推荐阅读
- python - 为 Python 请求有效负载重新格式化 JSON 文件(添加 \n、\t)
- android - 为什么 Firestore Recycler Options 显示错误?
- c# - MongoDB 的 DbProviderFactory 实现
- c# - 将数据库中的数据转换为字符串以与 Liphsoft.Crypto.Argon2,c# 一起使用
- flutter - 如何调用execute onPressed只满足一个条件
- angular - Angular 9 - 无法在延迟加载的模块上停用路由器插座
- php - laravel 本地化使用 mcamara 包在根 url 上给出 404 错误,但在其他 url 上没有
- generics - Generate Fibonacci Sequence in Compile-Time using generics
- angular - 在哪里可以找到关于如何创建 reducer 的 NgRx 版本 7 文档
- authentication - istio 特使过滤器在 minikube 中不起作用