我有一个字符串矩阵
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
答案 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);