gpt4 book ai didi

javascript - 如何映射两个对象数组,连接它们并有效地添加索引

转载 作者:行者123 更新时间:2023-11-30 09:13:43 26 4
gpt4 key购买 nike

我有两个不同的对象数组,需要分别映射到我定义的键值对。映射时,应为每个对象分配一个顺序索引。然后,我需要获取每个映射数组并将它们连接起来。

这是我迄今为止尝试过的。它有效,但我认为可能有更有效或更干净的方法来做到这一点:

const mapPosts = () => {
let index = 0

const mappedPostsA = postsA.map(post => {
index++
return {
id: index,
provider: 'Wordpress',
post_id: postA.id,
title: postA.title,
body: postA.body_html
}
})

const mappedPostsB = postsB.map(post => {
index++
return {
id: index,
provider: 'Blogspot',
post_id: postB.id,
title: postB.title,
body: postB.description
}
})

const mappedPosts = [...mappedPostsA, ...mappedPostsB])
}

最佳答案

您可以将索引偏移 postsA 的长度,因为您知道 postsB 将始终紧随其后。

const mapPosts = (postsA, postsB) => {
return [
...postsA.map((post, index) => ({
id: index,
provider: 'Wordpress',
post_id: post.id,
title: post.title,
body: post.body_html
}))
...postsB.map((product, index) => ({
id: index + postsA.length,
provider: 'Blogspot',
post_id: product.id,
title: product.title,
body: product.description
}))
];
};

我使用了传播语法,因为你在原来的问题中使用了它,你可以使用类似 mappedA.concat(mappedB) 的东西,但这主要是一个偏好问题。

关于javascript - 如何映射两个对象数组,连接它们并有效地添加索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56691592/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com