JAVA关于split方法和indexof方法

var relations = new Array();
if (form.codeRelation.value.indexOf(",") > -1) {
relations = form.codeRelation.value.split(",");
alert("333 === " + relations);
}

输出结果为:333 === -1,0

不明白这段代码在干什么,求详解。

这样写可能清楚一点
var str = form.codeRelation.value
str.indexOf(",") > -1
str.indexOf (",")找到与","匹配的串返回该字符所在串的位置
str.split(",")按逗号分割str返回的是一个数组类型的值。
看你的代码。relations这个数组里面装的就是-1和0
form.codeRelation.value得到应改是str = "-1,0";这个字符串
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-27
form.codeRelation.value.indexOf(",") > -1 这句是如果这段话有逗号就执行下面语句
indexOf()是用来查询值在文本中的位置,首位是0,所以>-1就是有的意思

relations = form.codeRelation.value.split(",");是通过逗号进行前后分割
split()方法是 根据匹配给定的正则表达式来拆分此字符串。写个逗号就是在逗号分割
所以
333 === -1,0
第2个回答  2011-10-27
split
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:

Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

参数:
regex - 定界正则表达式
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的
第3个回答  2011-10-27
这是js代码, indexOf(",") 就是找逗号(",")的位置, 大于-1 说明能找到, 那么就对form.codeRelation.value进行分割. 最后打印-1,0说明form.codeRelation.value的值就是-1,0.
你打印一下看看.
在var relations = new Array();后加一句
alert(form.codeRelation.value); 如果没错应该弹出-1,0
第4个回答  2011-10-27
index of (“.”)意思是返回第一次出现的“.”该字符串在此字符串中的索引。比如1.345,返回的是1;如果不存在该字符串“.”就返回-1
spilt(“.”)将字符串按照“.”所在位置进行分割成多个字符串。
这两个合用大多数是先判断是否是整数,如果不是整数就分别取得整数部分和小数部分。
第5个回答  2011-10-27
if (form.codeRelation.value.indexOf(",") > -1)这个是判断form.codeRelation.value值中是否包含逗号,如果包含将这个值以逗号为分隔符分开,split()方法是将字符串以指定的字符为分隔符拆成一个字符串数组。另外indexOf()这个方法判断字符串时如果该字符串中包含指定的字符串时就返回这个字符串所在的位置,没有的话返回-1
相似回答