作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试迭代两个对象数组并尝试将组合对象插入新数组中。我有两个数组,allData 和 users。我正在迭代这些数组,如果 allData 中的作者与用户数组的 id 匹配,那么我会将数据推送到 newData 数组中。
但是我在插入 newData 数组时无法访问 imageURL。有人可以指出为什么会发生以及解决方案是什么
let allData = [{
"id": 5,
"message": "bnnnbnb",
"parentId": 1,
"author": 2
}];
let users = [{
"id": 1,
"name": "abc",
"imageUrl": "avatar1.jpg"
}, {
"id": 2,
"name": "def",
"imageUrl": "avatar2.jpg"
}, {
"id": 3,
"name": "qwe",
"imageUrl": "avatar3.jpg"
}];
let newData = [];
allData.map((dataItem) => {
users.map((user) => {
if(dataItem.author === user.id){
newData.push({...dataItem, user.imageUrl})
}
})
})
我期待以下结果:
let newData = [{
"id": 5,
"message": "bnnnbnb",
"parentId": 1,
"author": 2,
"imageUrl": "avatar2.jpg"
}];
最佳答案
newData.push({...dataItem, imageUrl: user.imageUrl})
这可以解决问题。您的代码中缺少名称定义
关于javascript - 无法将对象推送到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61887931/
我是一名优秀的程序员,十分优秀!