PHPのようにjQueryで配列を内破できますか?
7 に答える
プレーンな JavaScript でこれを行うことができますArray.prototype.join
。
arrayName.join(delimiter);
このような:
[1,2,3,4].join('; ')
Array.join
が必要ですが、必要に応じて、phpjs.orgのフレンドリーな人々が作成implode
してくれます。
次に、トピックから少し外れて暴言を吐きます。@jon_darkstar が既に指摘したように、jQuery は JavaScript であり、その逆ではありません。jQuery の使用方法を理解するために JavaScript を知る必要はありませんが、JavaScript を知っている必要はありません。
Use join() method creates and returns a new string by concatenating all of the elements in an array.
Working example
var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);
javascript で implode の代替を作成できます。
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
この最後の解決策は、インデックスが終了しない間、毎回配列の長さと異なるかどうかをチェックする必要があるため、最初の解決策よりも遅いと思います。