gpt4 book ai didi

javascript - 在 Javascript 中使用 foreach 格式化数据

转载 作者:行者123 更新时间:2023-11-29 18:50:59 25 4
gpt4 key购买 nike

我想用这样格式化的数据进行 API 调用。

[{"Id":10, “FolderID”:22},{"Id":12, “FolderID”:22}]

我在下面有这些不同的数据源:(使用 redux)

const FolderId = indexes.currentFolder.id;

这是一个常量值

const documentsId = indexes.copyDocuments;

这是8,9,10的格式

我试图通过遍历文档数组来实现它用 foreach。

我知道如何附加数据的唯一方法是使用数组,但这会为每个循环创建一个新数组,这不是我想要的。

const data = [];

documentsId.forEach(function(doc){
data.push(`"Id":${doc},"FolderID":${FolderId}`)
})

有没有人知道这样做的方法?谢谢。

最佳答案

我相信你正在寻找的是 map 原型(prototype)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

map 的作用是从原始数组返回一个新数组,因此在您的示例中我们有一个数组

[8, 9, 10]

我们映射它的方式与我们使用 forEach 的方式相同,它先传递项目,然后传递索引

const newArray = [8, 9, 10].map(function (item, index) {
return [item, index]
})
// [[8, 0], [9, 1], [10, 2]]

map 原型(prototype)返回一个新的数组,所以不需要复制你的数组而不改变它这使得 map 原型(prototype)不可变

const documentsId = [8, 9, 10]

/* however you get your folderId */
const folderId = 22;

const mappedToObjectArray = documentsId.map(id => ({id, folderId}))


/*
If you're used to es5 this might look more familiar

function formatData() {
return documentsId.map(function (doc) {
return {
id: doc,
folderId: folderId
}
})
}
*/

console.log(mappedToObjectArray)

如果我误解了或者您对任何乐于提供帮助的事情感到困惑,请告诉我。

关于javascript - 在 Javascript 中使用 foreach 格式化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51366618/

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