두 개의 객체 배열을 반복하고 결합 된 객체를 새 배열로 푸시하려고합니다. 두 개의 배열, allData 및 사용자가 있습니다. 이 배열을 반복하고 있으며 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})
이것은 문제를 해결할 것입니다. 코드에 이름 정의가 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다