如何在javascript中检查字符串中下一个字符是否存在

时间:2011-11-22 06:50:41

标签: javascript

大家好我有这样的字符串

var data='mobile,car,soap,room';

我正在从这个字符串中进行解析,并将此字符串作为逗号分区并将其推送到这样的数组中

var availableTags=[];
var str='';
for(i=0;i<data.length;i++)
{
  if(data[i]==',')
  {    
    availableTags .push(str);
    str='';
  }
  else
  {
    str +=data[i];
  }
}

但是我做错了,因为我无法在逗号后得到最后一个值...现在我想知道我怎样才能知道我的字符串中,的下一个存在是否存在。这样我也可以包含最后一个值。

如果有人指导我如何以其他方式完成同样的任务,我也将不胜感激。

我希望字符串是一个数组,它看起来应该是这样的

  ["mobile","car","soap","room"]

5 个答案:

答案 0 :(得分:4)

你可以使用

var availableTags = data.split(",");

它将处理所有事情。并将生成一个数组。

答案 1 :(得分:3)

您可以使用:

data.split(/,/)

请参阅split文档。

答案 2 :(得分:1)

循环后,您需要检查str的值并添加它。它可以包含最后一个逗号后的其余部分,如果逗号是data中的最后一个字符,则它可以为空。

但正如其他人指出的那样,split可能是更好的方法。

答案 3 :(得分:1)

就修复现有功能而言,请尝试在for循环后添加以下内容:

if (str != "")
   availableTags.push(str);

(当循环结束时str保存最后一个逗号之后的内容。)

但与其他答案一样,您可以使用数组.split()方法:

var availableTags = data.split(",");

答案 4 :(得分:0)

您可以在开头添加额外的逗号:

data = data + ","

...