我有一个字符串矩阵
stringMatrix = `
1 0 0
0 1 0
0 0 0
`我想把它转换成一个双数组:[[1,0,0], [0,1,0], [0,0,1]];那么js的实现方式是什么呢?
我尝试过matrix = values[0].trim().split('\n');,但这只会执行外层的操作:["1 0 0", "0 1 0", "0 0 0"];我可以执行for-循环,但我想知道是否有一种使用lambda表达式/胖箭头的方法?
//香草js
发布于 2017-09-04 18:34:07
仅仅是分裂和映射就是最容易的
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)
发布于 2017-09-04 18:39:04
这将为您提供一个数字数组作为输出,使用拆分和映射。
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);
https://stackoverflow.com/questions/46042456
复制相似问题