PHPのようにjQueryに配列を分解することはできますか?
これは単純なJavaScriptで実行できます。 Array.prototype.join
を使用してください。
arrayName.join(delimiter)
私はこれ以上のjQuery関数を知りません。
このような:
[1,2,3,4].join('; ')
Array.join
があなたが必要とするものですが、あなたが好きなら、 phpjs.org のフレンドリーな人々があなたのために implode
を作りました。
それからいくつかの話題の話題から少し外れます。 @ jon_darkstarがすでに指摘したように、jQueryはJavaScriptであり、その逆ではありません。 jQueryの使い方を理解するためにJavaScriptを知るためにneedを使う必要はありませんが、それは絶対に害を及ぼすものではありません。あなたが絶対にそれを学ぶ必要があるより大きな絵。
今後の参考のために、 PHPのimplode()
when区切り文字が指定されていない場合の動作を模倣したい場合 (文字通り単に部分をつなぐだけで、Javascriptのjoin()
に空の文字列を渡す必要があります。そうでない場合は、デフォルトで区切り文字としてカンマが使用されます。
var bits = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'];
alert(bits.join()); // H,e,l,l,o, ,W,o,r,l,d
alert(bits.join('')); // Hello World
join()メソッドを使用すると、配列内のすべての要素を連結して新しい文字列を作成して返します。
実施例
var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);
JavaScriptで内包の代替手段を作成できます。
function my_implode_js(separator,array){
var temp = '';
for(var i=0;i<array.length;i++){
temp += array[i]
if(i!=array.length-1){
temp += separator ;
}
}//end of the for loop
return temp;
}//end of the function
var array = new Array("One", "Two", "Three");
var str = my_implode_js('-',array);
alert(str);
array.join
は ";"を認識していませんでした区切り文字ですが、コンマに置き換えます。 jQueryを使うと、$.each
を使って配列を分解することができます(output_saved_jsonが配列で、tmpが分解された配列を格納する文字列です)。
var tmp = "";
$.each(output_saved_json, function(index,value) {
tmp = tmp + output_saved_json[index] + ";";
});
output_saved_json = tmp.substring(0,tmp.length - 1); // remove last ";" added
最後の ";"を削除するために部分文字列を使用しました。必要なくファイナルに追加しました。しかし、あなたが望むなら、代わりにsubstring
のようなものを使うことができます。
var tmp = "";
$.each(output_saved_json, function(index,value) {
tmp = tmp + output_saved_json[index];
if((index + 1) != output_saved_json.length) {
tmp = tmp + ";";
}
});
output_saved_json = tmp;
$.each
が終わらない間、毎回indexが配列の長さと異なるかどうかをチェックする必要があるので、この最後の解決策は1番目の解決策より遅いと思います。