Javascript 从数组中删除注释和空格,而不丢失0

Javascript 从数组中删除注释和空格,而不丢失0,javascript,arrays,Javascript,Arrays,我怎么用这个 //arr.filter(function(e){ return e === 0 || e }); 在我的职责范围内 function stringToArray(splitString) { return splitString.split("\n"); } 我创建了一个数组来将字符串拆分为新数组,但我想删除数组中的空格和注释。我还希望保留0,因为我希望我正在处理的程序在完成时给我二进制文件。假设您希望单独测试每一行(因此没有带有/*和*/的多行注释),那么

我怎么用这个

//arr.filter(function(e){ 
  return e === 0 || e 
}); 
在我的职责范围内

function stringToArray(splitString) {
    return splitString.split("\n");
}

我创建了一个数组来将字符串拆分为新数组,但我想删除数组中的空格和注释。我还希望保留0,因为我希望我正在处理的程序在完成时给我二进制文件。

假设您希望单独测试每一行(因此没有带有
/*
*/
的多行注释),那么就很容易
.filter()
输出空字符串或以
/
开头的行:

function stringToArray(splitString) {
    return splitString.split("\n").filter(function(v) {
        return v != "" && v.indexOf("//") != 0;
    });
}
或者,如果要忽略非空但只包含空格的行,或者在开头有空格并后跟注释的行,可以使用正则表达式测试,可能类似于以下内容:

function stringToArray(splitString) {
    return splitString.split("\n").filter(function(v) {
         return !/^\s*(\/\/.*)?$/.test(v);
    });
}

假设您想单独测试每一行(因此没有带有
/*
*/
的多行注释),那么
.filter()
就可以很容易地筛选出空字符串或以
/
开头的行:

function stringToArray(splitString) {
    return splitString.split("\n").filter(function(v) {
        return v != "" && v.indexOf("//") != 0;
    });
}
或者,如果要忽略非空但只包含空格的行,或者在开头有空格并后跟注释的行,可以使用正则表达式测试,可能类似于以下内容:

function stringToArray(splitString) {
    return splitString.split("\n").filter(function(v) {
         return !/^\s*(\/\/.*)?$/.test(v);
    });
}

以下可能是您的问题的答案

var code='这里有一些代码;//注释\n更多代码//注释\n\n\n\n\此处有一些代码\n在一些空行之后添加更多代码;//和注释\n//注释行\n\n\n大量的空间和更多的代码\带零的n0代码//此行以零//'开头,
codar=code.split(/\n+/).map(s=>s.replace(/\s+/g,”)。replace(/\/\/.+/.g,”))。filter(s=>s==0 | | s);

控制台日志(codar)可能是以下问题的答案

var code='这里有一些代码;//注释\n更多代码//注释\n\n\n\n\此处有一些代码\n在一些空行之后添加更多代码;//和注释\n//注释行\n\n\n大量的空间和更多的代码\带零的n0代码//此行以零//'开头,
codar=code.split(/\n+/).map(s=>s.replace(/\s+/g,”)。replace(/\/\/.+/.g,”))。filter(s=>s==0 | | s);

控制台日志(codar)