在javascript中将多行数字字符串转换为double数组

时间:2017-09-04 18:29:38

标签: javascript arrays

我有一个字符串矩阵

stringMatrix = `
1 0 0
0 1 0
0 0 0
`

我想将其转换为双数组:[[1,0,0], [0,1,0], [0,0,1]]; js-y的做法是什么?

我已经尝试了matrix = values[0].trim().split('\n');,但这只会做外层:["1 0 0", "0 1 0", "0 0 0"];我可以做一个for循环,但我想知道lambda表达式/胖箭是否有办法?

// vanilla js

2 个答案:

答案 0 :(得分:1)

只需拆分和映射就可以了。



var stringMatrix = `
1 0 0
0 1 0
0 0 0
`

var res = stringMatrix.trim().split("\n").map( x => x.split(/\s+/).map(Number))

console.log(res)




答案 1 :(得分:0)

这将使用split和map为数字数组提供输出



stringMatrix = `
1 0 0
0 1 0
0 0 0
`;
let result = [];
stringMatrix = stringMatrix.trim().split('\n').map(function(element){
    let ret = [];

    for(let digit of element.match(/\d/g)){
        ret.push(parseInt(digit));
    }
    return ret;
});


console.log(stringMatrix);