所以我必须 csv,其中一个包含“T 恤,ID”,另一个仅包含 T 恤。
使用 papaparse 后,我得到了两个像这样的数组:
[]
data: Array(6)
0: {tshirt: "a", ID: 121}
1: {tshirt: "b", ID: 132}
2: {tshirt: "c", ID: 147}
3: {tshirt: "d", ID: 97}
4: {tshirt: "e", ID: 76}
[]
data: Array(2)
0: {tshirt: "d", ID: null}
1: {tshirt: "a", ID: null}
我想要做的是使用第二个数组+第一个数组的 ID 生成一个新的 csv。 像这样的事情:
[]
data: Array(2)
0: {tshirt: "d", ID: 97}
1: {tshirt: "a", ID: 121}
我已经尝试了一切,但无法使其发挥作用。这是我的代码:
var data1= []
Papa.parse('a.csv', {
header: true,
delimiter: ';',
download: true,
dynamicTyping: true,
skipEmptyLines: true,
complete: function(results) {
data1.data = results.data
}
});
var data2 = []
Papa.parse('b.csv', {
header: true,
delimiter: ';',
download: true,
dynamicTyping: true,
skipEmptyLines: true,
complete: function(results) {
data2.data = results.data
}
});
console.log(data1)
console.log(data2)
最佳答案
这是一个解决方案,即从第一个数组创建 map :
const data1 =
[{tshirt: "a", ID: 121},
{tshirt: "b", ID: 132},
{tshirt: "c", ID: 147},
{tshirt: "d", ID: 97},
{tshirt: "e", ID: 76}]
const data2 =
[{tshirt: "d", ID: null},
{tshirt: "a", ID: null}]
const data1map = data1.reduce ((acc, d) => ({...acc, [d.tshirt]: d}), {})
const result = data2.map(d => ({...d, ID: data1map[d.tshirt].ID}))
关于javascript - 使用两个数组 Javascript 查找并获取 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60548094/