我有一个txt文件,该文件由标签分开,然后将每行映射到一个数组。我想做这些数组
[
"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));
答案 0 :(得分:2)
要获取对象数组,只需将map()
放在split()
上之后\n
。在\t
中再次分割并返回对象:
let str = "saddle (seat)\tasiento\nseat clamp\tabrazadera de asiento"
let trans = str.split('\n').map(line => {
let [Eng, Spa] = line.split('\t')
return {Eng, Spa}
})
console.log(trans)
// Get all Spa values:
console.log(trans.map(item => item.Spa))
// Get all Eng values:
console.log(trans.map(item => item.Eng))
基于评论进行编辑
您可以只打印trans.spa
,因为可能有很多值。要获取所有Spa值,您需要使用map来获取所有Spa值,例如:
trans.map(item => item.Spa)
(添加到上面的摘录中)