2011-09-12 2 views
3

私はこの問題を抱えています。私は本当に解決できません。Jquery - 区切られた文字列から配列を作成し、その値を評価する

私はこの文字列「B01、B20、B03、」私はデリミタ 次いで最後の要素を取り除くように、「」(つまり空白になる)を使用して、この文字列オフjQueryのアレイを作成したい

を有します配列の各値に対して警告を発します。

のような何か...

var theString = "B01, B20, B03, "; 

    var theArray = (theString, ','); 

    theArray = remove_last_element; (??) 

    $('theArray').each(function() { 

     alert(theArray[?].value); 

    }); 

任意のヒント?

ありがとうございます!

答えて

18
var theString = "B01, B20, B03, "; 

$.each(theString.split(",").slice(0,-1), function(index, item) { 
    alert(item); 
}); 

質問がある場合はお知らせください。

+0

なぜjQueryオブジェクトに配列を配置していますか? – Guffa

+0

@ Guffa私は彼の質問に文言でjQueryオブジェクトが必要だと思っていました。 –

+0

素敵な、私は本当にコンパクトで素敵なので、この方法を選択した!ご助力ありがとうございます !。 @Guffaは、私はまだ学んでいる:) – matteo

1
var theString = "B01, B20, B03, ", 
    theArray = theString.split(', '); 

theArray.pop(); 
$(theArray).each(function() { 
    alert(this); 
}); 
+0

を合計初心者だ – matteo

2

このためにjQueryは必要ありません。 String.prototype.splitを使用して文字列を分割し、forでループします。

var theString = "B01, B20, B03, ", 
    bits = theString.split(', ').slice(0, -1); // split the string and remove the last one 

for (var i = 0; i < bits.length; i++) { 
    alert(bits[i]); 
} 
+0

を私を助けることに時間を割いていただき、誠にありがとうございます、私は私が他のすべてのスクリプトは、それを使用するので、私はjQueryのを使用するために必要と思った:)合計初心者です。とにかく私を助けに時間をとってくれてありがとうございました – matteo

0

私が下で使用した唯一のjqueryは、値が空であるかどうかを確認するための値を「トリム」することでした。それ以外の場合は、スプリットとスプライス(plain ol 'javascript)を使用しました。

var theString = "B01, B20, B03, "; 
var theArray = theString.split(','); 
for(i=0; i<theArray.length; i++) { 
    // check if any array element is empty, if so, take it out of the array 
    if ($.trim(theArray[i]) == "") 
    theArray.splice(i, 1); // remove element since it's blank 
} 

// now you can iterate over the "real" values of the array 
$.each(theArray, function(i, value) { 
    alert(value); 
}); 
+0

私を助けてくれてありがとう、ありがとう。 – matteo

0
var str = "B01, B20, B03, "; 

$.each(str.split(','), function(i, val) { 
    val = $.trim(val); 
    alert(val); 
}); 
0
cleanString = function(str) { 
    return $.grep(str.split(','), function(elem) { 
     return ($.trim(elem) !== '') 
    }); 
} 

この機能は削除されたすべての空白をコンマですべてのスプリットを持つ配列を返します。チェックアウト:$.grep配列は十分に簡単であるべきアラート

使用

cleanString("B01, B20, B03, "); 

。返される配列を反復処理するだけです。

var arr = cleanString("B01, B20, B03, "); 
    $.each(arr, function(index, value) { 
     alert(value); 
    }); 
8

"jQuery配列"のようなものはありません。あなたはJavascript配列を使用します。

文字列にカンマ区切りの値が含まれているため、文字列を配列に変換することはできません。あなたがそれをチェックし、削除することができますので、末尾の区切りがあるのでこれは、4つの項目を持つ配列を生成

var theString = "B01, B20, B03, "; 
var theArray = theString.split(", "); 

:あなたは、このケースでsplit方法だろう文字列を、解析するために何かを使用する必要があります次のようになります。

if (theArray.length > 0 && theArray[theArray.length - 1].length == 0) { 
    theArray.pop(); 
} 

次に、プレーンなJavascriptまたはjQueryメソッドを使用して配列をループすることができます。平野Javascriptが次のようになります。jQueryのメソッドを使用して

for (var i = 0; i < theArray.length; i++) { 
    alert(theArray[i]); 
} 

次のようになります。

$.each(theArray, function(index, item) { 
    alert(item); 
}); 

あなたがアイテムを除去する工程を省略し、単にループ内の空の項目をチェックすることができます。

var theString = "B01, B20, B03, "; 
var theArray = theString.split(", "); 
for (var i = 0; i < theArray.length; i++) { 
    if (theArray[i].length > 0) { 
    alert(theArray[i]); 
    } 
} 
関連する問題