Saya memiliki serangkaian string dalam JavaScript yang ingin saya ubah menjadi daftar yang dipisahkan koma. Apakah ada cara sederhana dalam JavaScript variasi kebun (atau jQuery) untuk mengubahnya menjadi daftar yang dipisahkan koma? (Saya tahu bagaimana cara mengulang melalui array dan membangun string sendiri dengan penggabungan jika itu satu-satunya cara.)
javascript
jquery
Ramuan Caudill
sumber
sumber
var arr = ["Zero", "One", "Two"]; console.log(arr.toString());
yang mengembalikanZero,One,Two
Baca selengkapnyaJawaban:
Metode Array.prototype.join () :
sumber
Sebenarnya,
toString()
implementasi tidak bergabung dengan koma secara default:Saya tidak tahu apakah ini diamanatkan oleh spec JS tetapi ini adalah apa
palingcukup banyak yang tampaknya dilakukan semua browser.sumber
arr + ''
toString()
danjoin(",")
kira-kira setara pada April 2018Atau (lebih efisien):
Metode toString dari sebuah array ketika dipanggil mengembalikan apa yang Anda butuhkan - daftar yang dipisahkan koma.
sumber
Berikut ini adalah implementasi yang mengubah array dua dimensi atau array kolom menjadi string CSV yang lolos dengan benar. Fungsi tidak memeriksa string / angka input atau jumlah kolom yang valid (pastikan array Anda valid untuk memulai). Sel-sel dapat berisi koma dan kutipan!
Berikut ini skrip untuk mendekode string CSV .
Inilah skrip saya untuk menyandikan string CSV :
sumber
Saya pikir ini harus dilakukan:
biola
Pada dasarnya yang dilakukan adalah memeriksa apakah string berisi koma atau kutipan. Jika ya, maka menggandakan semua tanda kutip, dan menempatkan tanda kutip di ujungnya. Kemudian ia bergabung dengan masing-masing bagian dengan koma.
sumber
Jika Anda perlu menggunakan "dan" bukannya "," di antara dua item terakhir, Anda dapat melakukan ini:
sumber
Ada banyak metode untuk mengkonversi array ke daftar yang dipisahkan koma
1. Menggunakan array # gabung
Dari MDN
Kode
Potongan
Tampilkan cuplikan kode
2. Menggunakan array # toString
Dari MDN
Kode
Potongan
Tampilkan cuplikan kode
3. Tambahkan [] + sebelum larik atau + [] setelah larik
The [] + atau + [] akan mengubahnya menjadi string
Bukti
akan menampilkan true
Tampilkan cuplikan kode
Potongan
Tampilkan cuplikan kode
Juga
Tampilkan cuplikan kode
sumber
Gunakan
Array.toString
metode bawaanMDN di Array.toString ()
sumber
Saya biasanya menemukan diri saya membutuhkan sesuatu yang juga melewatkan nilai jika nilai itu
null
atauundefined
, dll.Jadi, inilah solusi yang cocok untuk saya:
Sebagian besar solusi di sini akan kembali
', apple'
jika array saya akan terlihat seperti yang ada di contoh kedua saya. Itu sebabnya saya lebih suka solusi ini.sumber
Saya menyukai solusinya di https://jsfiddle.net/rwone/qJUh2/ karena menambahkan spasi setelah koma:
Atau, seperti yang disarankan oleh @StackOverflaw dalam komentar:
sumber
arr.join(', ')
:, yang sebenarnya lebih cepat (menurut komentar @Sameer), dan juga lebih aman (tidak mengacaukan dengan koma di dalam nilai array seperti halnya RegExp pada string yang dihasilkan). ;)Papa Parse menangani koma dalam nilai dan kasus tepi lainnya.
( Baby Parse for Node telah ditinggalkan - Anda sekarang dapat menggunakan Papa Parse di Browser dan di Node.)
Misalnya. (simpul)
1 ,, "a, b"
sumber
Mengambil kode awal:
Jawaban awal menggunakan fungsi gabungan sangat ideal. Satu hal yang perlu dipertimbangkan adalah penggunaan string yang terbaik.
Untuk digunakan dalam beberapa tampilan teks akhir:
Untuk menggunakan URL untuk meneruskan beberapa nilai melalui (agak) dengan tenang:
Tentu saja, itu semua tergantung pada penggunaan akhir. Ingat selalu sumber data dan gunakan dalam pikiran dan semua akan benar dengan dunia.
sumber
Apakah Anda ingin mengakhirinya dengan "dan"?
Untuk situasi ini, saya membuat modul npm.
Coba arrford :
Pemakaian
Install
Baca lebih banyak
https://github.com/dawsonbotsford/arrford
Cobalah sendiri
Tautan tonik
sumber
Pada Chrome 72 , dimungkinkan untuk menggunakan Intl.ListFormat :
Harap perhatikan bahwa cara ini masih dalam tahap yang paling awal, sehingga pada tanggal posting jawaban ini, mengharapkan ketidakcocokan dengan Chrome versi lama dan browser lainnya.
sumber
sumber
sumber
Solusi ini juga menghilangkan nilai-nilai seperti
" "
:sumber