js 如何将时间相同的元素放在同一个数组?求大佬们指教?

后台接口返回的数据结构

res = [

{

create_time: '2023-04-23 09:00:00',

img_id: [1,2,3] // 需要遍历拿到图片ID去下载图片URL

},

{

create_time: '2023-04-23 10:00:00',

img_id: [4,5,6]

}

]

我想要的结果

newArr = [

{

create_time: '2023-04-23 09:00:00',

imgList: [

'https://1.jpg',

'https://2.jpg',

'https://3.jpg'

]

},

{

create_time: '2023-04-23 10:00:00',

imgList: [

'https://4.jpg',

'https://5.jpg',

'https://6.jpg'

]

},

]


回答:

const res = [

{

create_time: '2023-04-23 09:00:00',

img_id: [1,2,3] // 需要遍历拿到图片ID去下载图片URL

},

{

create_time: '2023-04-23 10:00:00',

img_id: [4,5,6]

},

{

create_time: '2023-04-23 09:00:00',

img_id: [7,8,9] // 需要遍历拿到图片ID去下载图片URL

},

]

const map = new Map();

res.forEach(item => {

if (map.has(item.create_time)) {

map.set(item.create_time, [...map.get(item.create_time), ...item.img_id]);

} else {

map.set(item.create_time, item.img_id);

}

});

console.log(map, "map");

// 遍历map

for (const [key, value] of map) {

console.log(key, "key");

console.log(value, "value");

}

js 如何将时间相同的元素放在同一个数组?求大佬们指教?

拼接的自行处理一下就好


回答:

js 如何将时间相同的元素放在同一个数组?求大佬们指教?

  const res = [{

create_time: '2023-04-23 09:00:00',

img_id: [1, 2, 3],

}, {

create_time: '2023-04-23 10:00:00',

img_id: [4, 5, 6],

}];

const newArr = res.map(item => {

const imgList = item.img_id.map(id => `https://${id}.jpg`);

return {

create_time: item.create_time,

imgList: imgList,

};

});

console.log(newArr);

以上是 js 如何将时间相同的元素放在同一个数组?求大佬们指教? 的全部内容, 来源链接: utcz.com/p/934114.html

回到顶部