我正在尝试将两个对象合并为一个,但是我需要确保对象值和键的第一个数组成为另一个对象数组的键值,希望这是有道理的:
所以我有一个像这样的一些信息的dataConstant:
export const tileData = [
{
title: 'JS CONS',
skill: 40,
visitTitle: 'Visit JS',
visitUrl: 'https://www.google.co.uk'
},
{
title: 'JS CONS',
skill: 50,
visitTitle: 'Visit JS',
visitUrl: 'https://www.google.co.uk'
}
]
Run Code Online (Sandbox Code Playgroud)
我将此常量导入到我的React组件中。在同一个内部,我将导入多个图像,并将它们放入对象数组中,如下所示:
//the values of the objects keys are imported logos
getLogos(tileData) {
const logo = [{logo: js}, {logo: react}];
var combi = [...logo, ...i];
console.log(combi);
return combi;
}
Run Code Online (Sandbox Code Playgroud)
结果是:
0: {logo: "/static/media/js.a672e76f.png"}
1: {logo: "/static/media/react.5513eea1.png"}
2: {title: "JS CONS", skill: 40, visitTitle: "Visit JS", visitUrl: "https://www.google.co.uk"}
3: {title: "JS CONS", skill: 50, visitTitle: "Visit JS", visitUrl: "https://www.google.co.uk"}
Run Code Online (Sandbox Code Playgroud)
不过,我想前两个元素0,并1以内部3和4
let logos = [{logo: "/static/media/js.a672e76f.png"},{logo: "/static/media/react.5513eea1.png"}]
let tileData = [{title: "JS CONS", skill: 40, visitTitle: "Visit JS", visitUrl: "https://www.google.co.uk"},{title: "JS CONS", skill: 50, visitTitle: "Visit JS", visitUrl: "https://www.google.co.uk"}]
Run Code Online (Sandbox Code Playgroud)
您可以.map()像这样组合两个数组:
let combinedArr = logos.map((item, index) => {
return {
...item,
...tileData[index]
}
})
Run Code Online (Sandbox Code Playgroud)
结果是:
(2) [{…}, {…}]
0:
logo: "/static/media/js.a672e76f.png"
skill: 40
title: "JS CONS"
visitTitle: "Visit JS"
visitUrl: "https://www.google.co.uk"
__proto__: Object
1:
logo: "/static/media/react.5513eea1.png"
skill: 50
title: "JS CONS"
visitTitle: "Visit JS"
visitUrl: "https://www.google.co.uk"
__proto__: Object
length: 2
__proto__: Array(0)
Run Code Online (Sandbox Code Playgroud)