我正在处理这样的文本(一个.cnf文件):
p cnf 5 5
c Thus, this file contains a problem with 5 variables and 5 clauses.
c The following are the clauses for this file:
1 2 3 4 5 0
-1 -2 -3 -4 -5 0
1 -2
3 -4 5 0
5 0
-1 2 0
我需要用以数字开头的行创建一个数组,但它们必须以0结束并剪切它,这样我就可以生成如下数组:
[
[1, 2, 3, 4, 5],
[-1, -2, -3, -4, -5],
[1, -2, 3, -4, 5],
[5],
[-1, 2]
]
我正尝试在javascript (使用node.js)中做到这一点。
如果有人能帮助我,我将不胜感激。
发布于 2018-06-19 17:06:26
const data = `1 2 3 4 5 0
-1 -2 -3 -4 -5 0
1 -2
3 -4 5 0
5 0
-1 2 0`;
const result = data
.split('\n') // create an array of lines
.map(str => str.split(' ')) // break each line in array
.filter(([a]) => !isNaN(a)) // filter out those ones that do not start with numbers
.map(numArr => numArr.filter((item, i, arr) => !(i === (arr.length - 1) && item === '0')).map(Number)); // trim the last item if it is '0'
console.log(result);
https://stackoverflow.com/questions/50916156
复制相似问题