8

我有一些值存储在数组中,我想拆分它们并且想知道它包含值的长度但是当我运行函数时它不起作用

<head>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">

$(function(){


    var valData= ['songs','video','movie','games','other'];

    var valNew=valData.split(',');

    for(i=0;i<valNew.length;i++);

    alert(valNew.length)

    })


</script>


</head>

<body>

<select id="me"></select>
</body>
4

5 回答 5

13

Split 用于根据传递给 split 函数的某些分隔符将分隔字符串分隔为数组。您的值已经拆分为一个数组。您的 for 循环语法也不正确。

拆分文档:https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split

更正的代码:

$(function(){
    var valData= "songs,video,movie,games,other";

    var valNew=valData.split(',');

    for(var i=0;i<valNew.length;i++){
        alert(valNew.length)
    }
});

http://jsfiddle.net/tmHea/

于 2012-04-21T09:06:33.973 回答
6

你不需要拆分任何东西,它已经是一个数组。而且你的 for 循环语法是错误的......

for (var i = 0; i < valData.length; i++) {

    alert(valData[i].length);

}
于 2012-04-21T09:06:00.810 回答
2

Hiya演示 http://jsfiddle.net/YCarA/8/

2 事情是错误的

1)for循环。

2)你valData是数组,它应该是字符串,用于拆分以格式化为数组。

jQuery代码

$(function(){


    var valData = "songs,video,movie,games,other";


    var valNew = valData.split(',');

    for(var i=0;i<valNew.length;i++){

      alert(valNew.length);

   }
    });​
于 2012-04-21T09:06:25.627 回答
1

jQuery.each()方式:

var valData = ["songs","video","movie","games","other"];
$.each(valData, function(key, value) {
   alert("Index ---> " + key + ' & length of item ---> ' + value.length);
});   

jsfiddle

于 2012-04-21T09:59:48.213 回答
1

Kmb385 是对的。您的数据是您不能拆分为已经分开的数组。

你的 for 循环也有问题,正确的是

for(var i=0;i<valNew.length;i++)
      alert(valNew[i].length);
于 2012-04-21T09:10:08.287 回答