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

ひやデモhttp://jsfiddle.net/YCarA/8/ _

2つのことが間違っています

1)forループ。

2)あなたのvalDatais配列は、配列としてフォーマットするために分割するための文字列である必要があります。

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

Kmb385は正しいです。あなたのデータは、すでに分離されている配列に分割することはできません。

また、forループに障害があります。正しいループは次のとおりです。

for(var i=0;i<valNew.length;i++)
      alert(valNew[i].length);
于 2012-04-21T09:10:08.287 に答える
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 に答える