我需要连接两个数组。 第一个数组是描述数组
答案 0 :(得分:3)
假设数组的长度总是相等的...您可以使用传递给回调函数的第二个参数(每个元素的索引)访问另一个数组的元素。
const description = ['One', 'Two', 'Three'];
const allPictures = ['url-1', 'url-2', 'url-3'];
const result = description.map((des, index) => ({
url: allPictures[index],
description: des
}));
console.log(result);
如果不想在两个数组中的任何一个都具有伪造的值时创建对象:
const descriptions = ['One', '', 'Three', undefined];
const allPictures = ['url-1', 'url-2', null, ''];
const result = descriptions.reduce((acc,description, index) => {
const url = allPictures[index];
if(description && url) {
acc.push({ description, url });
}
return acc;
}, [])
console.log(result);
答案 1 :(得分:0)
Make sure both arrays are equal in size.
const description = ['One', 'Two', 'Three'];
const allPictures = ['url-1', 'url-2', 'url-3'];
const imageObject = description.map((item, index) => {
return {
url: item,
description: allPictures[index]
}
})
console.log('imageObject', imageObject)
答案 2 :(得分:0)
您可以为循环使用标准
const allPictures = ['url-1', 'url-2', 'url-3'];
const description = ['One', 'Two', 'Three'];
const result = [];
for (let i = 0; i < allPictures.length; i++) {
result.push({
url: allPictures[i],
description: description[i]
});
}
console.log(result)
答案 3 :(得分:0)
使用数组的map函数很简单
保持跟踪索引,您将使用它来了解元素的索引,以便可以在另一个数组上选择其对应元素 如下
const mergedArray = allPictures.map((url,index)=> {
return { url : url,
description : description[index]
}
})