Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跳过空白的JavaScript习惯用法是什么?_Javascript_Node.js_String - Fatal编程技术网

跳过空白的JavaScript习惯用法是什么?

跳过空白的JavaScript习惯用法是什么?,javascript,node.js,string,Javascript,Node.js,String,给定一个字符串s和一个当前索引i,JavaScript(节点)中跳过从该位置开始的空白的惯用方法是什么?在C中,这将通过以下方式实现: while (isspace(s[i])) i++; 可以使用charCodeAt或多或少地直接将其转换为JavaScript,但有更好的解决方案吗?检查该点的字符串索引,查看其修剪值是否为空字符串: while (s[i].trim() === '') i++; 或使用RE: while (/\s/.test(s[i])) i++; 如果

给定一个字符串
s
和一个当前索引
i
,JavaScript(节点)中跳过从该位置开始的空白的惯用方法是什么?在C中,这将通过以下方式实现:

while (isspace(s[i]))
    i++;

可以使用
charCodeAt
或多或少地直接将其转换为JavaScript,但有更好的解决方案吗?

检查该点的字符串索引,查看其修剪值是否为空字符串:

while (s[i].trim() === '')
  i++;
或使用RE:

while (/\s/.test(s[i]))
  i++;
如果循环中没有其他内容,则可以不使用循环:

i += s.slice(i).match(/^\s*/)[0].length;

但是,根据您到底想做什么,可能会有更好的方法。

跳过是出于什么原因?通常你只是用一个正则表达式打它,如果你不在乎的话,它会折叠所有的空格。输入是什么,预期的输出是什么?@tadman。无法损坏字符串,因为其中的某些空格很重要。请跳过任何空白字符,而不仅仅是“”。JavaScript没有isspace;正则表达式文字可以做同样的工作;它们在JavaScript中是否像在Perl中一样被认为是惯用的?不确定“惯用”是什么意思,但它们可以非常简洁地使用并且易于理解,因此我使用re不会有任何问题。@rwallace是的,
而(/\s/.test(s[I])I++
将非常适合JS