Javascript 将中的多个数组转换为具有属性的对象数组
我有一个txt文件,我通过标签分割,然后我将每一行映射到一个数组。我想制作这些阵列Javascript 将中的多个数组转换为具有属性的对象数组,javascript,node.js,Javascript,Node.js,我有一个txt文件,我通过标签分割,然后我将每一行映射到一个数组。我想制作这些阵列 [ "saddle (seat)", "asiento" ], [ "seat clamp", "abrazadera de asiento" ], 使用Eng和Spa作为属性,将其转换为以下内容: { Eng: saddle (seat), Spa: asiento, Eng: seat clamp, Spa: abraz
[
"saddle (seat)",
"asiento"
],
[
"seat clamp",
"abrazadera de asiento"
],
使用Eng和Spa作为属性,将其转换为以下内容:
{ Eng: saddle (seat),
Spa: asiento,
Eng: seat clamp,
Spa: abrazadera de asiento
}
这是我当前的代码
var fs = require('fs');
var output = fs.readFileSync('component names.txt', 'utf8')
.replace(/(\r)/gm, "")
.split('\n')
.map(line => line.split('\t'))
/* .reduce(() => {}, )
components = []
components[].push({
Eng: line[0],
Spa: line[1]
}) */
console.log('output:', JSON.stringify(output, null, 2));
要获得一个对象数组,只需在对
\n
执行split()
操作后,对行进行map()
。在\t
中执行另一次拆分并返回对象:
let str=“鞍式(座椅)\t座椅\n座椅夹钳\tabrazadera de asiento”
让trans=str.split('\n').map(行=>{
让[Eng,Spa]=line.split('\t')
返回{Eng,Spa}
})
控制台日志(trans)
//获取所有Spa值:
log(trans.map(item=>item.Spa))
//获取所有工程值:
console.log(trans.map(item=>item.Eng))
要获得一个对象数组,您只需在\n
上执行拆分()
后,在行上执行映射()
。在\t
中执行另一次拆分并返回对象:
let str=“鞍式(座椅)\t座椅\n座椅夹钳\tabrazadera de asiento”
让trans=str.split('\n').map(行=>{
让[Eng,Spa]=line.split('\t')
返回{Eng,Spa}
})
控制台日志(trans)
//获取所有Spa值:
log(trans.map(item=>item.Spa))
//获取所有工程值:
console.log(trans.map(item=>item.Eng))
您不能有多个同名属性,后一个属性将覆盖前一个属性,可能会覆盖您想要的属性和对象数组,如:arr=[{Eng:“鞍(座)”,Spa:“asiento”},{Eng:“someEng”,Spa:“someSpa”},]
将它们压缩在一起,然后映射到对象数组中,@MarkMeyer是的,你能告诉我怎么做吗?@akaphenom你能告诉我怎么做吗?你不能有多个同名的属性,后一个属性会覆盖前一个属性,这可能是你想要的,还有像这样的对象数组:arr=[{Eng:“鞍(座)”,Spa:“asiento”},{Eng:“someEng”,Spa:“someSpa”},]
将它们压缩在一起,然后将它们映射到一个对象数组中,@MarkMeyer是的,你能告诉我怎么做吗?@akaphenom你能告诉我怎么做吗?我怎么打印Spa值,像这样?log(trans.Spa)对meI不起作用。我一直在尝试将数组的console.log打印到html表中,出现了一些问题,因为节点是服务器端的。如何将Spa数组打印到html表中?很抱歉再次打扰您,马克,我如何打印Spa值,类似这样的内容?log(trans.Spa)对meI不起作用。我一直在尝试将数组的console.log打印到html表中,出现了一些问题,因为节点是服务器端的。如何将Spa数组打印到html表中?抱歉再次打扰你,马克