我有一个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));发布于 2018-11-03 18:36:25
要获得一个对象数组,只需在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来获得所有这些值,如下所示:
trans.map(item => item.Spa)(加入上述节选)
https://stackoverflow.com/questions/53134019
复制相似问题