Saya mencoba mengulang daftar "nilai" dan mengubahnya menjadi string. Ini kodenya:
var blkstr = $.each(value, function(idx2,val2) {
var str = idx2 + ":" + val2;
alert(str);
return str;
}).get().join(", ");
alert () berfungsi dengan baik dan menampilkan nilai yang tepat. Tapi entah bagaimana, fungsi .get () jquery tidak mendapatkan jenis objek yang tepat dan gagal. Apa yang saya lakukan salah?
Jawaban:
Jika
value
adalah array asosiatif, kode tersebut akan berfungsi dengan baik:(keluaran akan muncul di konsol dev)
Seperti yang Felix sebutkan,
each()
hanya mengulang array, tidak lebih.sumber
Mengonversi Dari Array ke String Sangat Mudah!
Itu saja Sekarang A adalah string. :)
sumber
[1,2,[3]].toString()
, Anda akan mendapatkan1,2,3
, yang sangat sampah. Jawaban ini hanyalah cara yang lebih buruk untuk menulis panggilan yang sama ke metode string asli yang rusak dan sama. 42 suara positif ??['Sunday','Monday','Tuesday','Wednesday','Thursday'].join('');
Array.join()
jelas merupakan opsi terbaik, karena tidak hanya menggabungkan nilai dengan koma, tetapi memungkinkan pengguna untuk menentukan bagaimana penggabungan harus dilakukan. Anda bisa menggunakan koma + spasi kosong misalnya.Anda dapat menggunakan
.toString()
untuk menggabungkan array dengan koma.Atau, atur pemisah dengan
array.join('; '); // result: a; b; c
.sumber
tidak yakin apakah ini yang Anda inginkan tetapi
Ini menghasilkan keluaran berikut:
sumber
Empat metode untuk mengubah array menjadi string.
Memaksa seutas tali
Panggilan
.toString()
Bergabung secara eksplisit menggunakan
.join()
Anda dapat menggunakan pemisah lain, misalnya,
', '
Menggunakan
JSON.stringify()
Ini lebih bersih, karena mengutip string di dalam larik dan menangani larik bersarang dengan benar.
sumber
jQuery.each
hanya mengulang array, itu tidak melakukan apa pun dengan nilai yang dikembalikan ∆ . Anda mencarijQuery.map
(menurut saya itu jugaget()
tidak perlu karena Anda tidak berurusan dengan objek jQuery):DEMO
Tetapi mengapa menggunakan jQuery sama sekali dalam kasus ini?
map
hanya memperkenalkan pemanggilan fungsi yang tidak perlu per elemen.∆: Ini hanya menggunakan nilai yang dikembalikan apakah harus terus mengulang elemen atau tidak. Mengembalikan nilai "falsy" akan menghentikan pengulangan.
sumber
map
jikavalue
adalah objek jQuery. Dan kemudian Anda harus menggunakanvalue.map(...).get()
. Tetapi jika Anda hanya memiliki array objek jQuery, maka Anda tidak perluget
. Sama-sama :)Gunakan
join()
dan pemisah.Contoh kerja
sumber
ini fungsi saya, ubah objek atau larik ke json
saya hanya mengedit ke v0.2 ^. ^
sumber
Saya membutuhkan sebuah array untuk menjadi representasi String dari sebuah array, maksud saya, saya membutuhkannya
mungkin seseorang membutuhkannya :)
sumber
ATAU
sumber
mengonversi array menjadi string parameter GET yang dapat ditambahkan ke url dapat dilakukan sebagai berikut
sebut fungsi ini sebagai
yang akan meneruskan pengguna ke / situs / penelusuran? halaman dengan parameter get yang diuraikan dalam larik yang diberikan untuk encodeGet.
sumber
Tidak boleh membingungkan Array dengan List ... Ini adalah daftar: {...} dan tidak memiliki panjang, atau properti Array lainnya.
Ini adalah Array: [...] dan Anda dapat menggunakan fungsi array, metode dan sebagainya, seperti yang disarankan di sini: someArray.toString ();
"someObj.toString ();" hanya tidak akan berfungsi pada jenis objek lain, seperti Daftar. ;-)
sumber
Array.prototype.toString ()
Metode toString () mengembalikan string yang mewakili larik yang ditentukan dan elemennya.
Sintaksis
Nilai kembali
Sebuah string yang mewakili elemen dari array.
untuk informasi lebih lanjut :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString
sumber
Berikut contoh penggunaan fungsi garis bawah.
Hasil akhirnya adalah "moe, larry, curly"
sumber