Bagaimana saya bisa mengubah string ke array JavaScript?
Lihatlah kodenya:
var string = "0,1";
var array = [string];
alert(array[0]);
Dalam hal ini, alert
akan muncul a 0,1
. Ketika itu akan menjadi array, itu akan muncul 0
, dan ketika alert(array[1]);
dipanggil, itu akan muncul 1
.
Apakah ada peluang untuk mengubah string seperti itu menjadi array JavaScript?
javascript
arrays
string
Scott
sumber
sumber
string[0] === '0'
dalam pertanyaan Anda), dalam kebanyakan kasus Anda dapat memperlakukan string sebagai array karakter dan menggunakan metode array di dalamnya.Jawaban:
Untuk anggota array sederhana seperti itu, Anda dapat menggunakan
JSON.parse
.Ini memberi Anda Array angka.
Jika Anda menggunakan
.split()
, Anda akan berakhir dengan Array string.Perlu diketahui bahwa
JSON.parse
akan membatasi Anda untuk tipe data yang didukung. Jika Anda membutuhkan nilai sukaundefined
atau fungsi, Anda harus menggunakaneval()
, atau parser JavaScript.Jika Anda ingin menggunakan
.split()
, tetapi Anda juga menginginkan Array of Numbers, Anda dapat menggunakanArray.prototype.map
, meskipun Anda harus menggunakannya untuk IE8 dan lebih rendah atau hanya menulis loop tradisional.sumber
JSON.parse();
tidak tersedia di IE6, IE7. Saya pikir dalam halString.split(',');
ini lebih mudah.var array = (new Function("return [" + string + "];"))()
. Penggunaan.split()
tidak apa-apa jika Angka tidak diperlukan, jika tidak, Anda harus memetakan hasilnya.eval
). Jika array berisi nilai-nilai dari input sisi klien ini akan tidak aman.Membaginya pada
,
karakter;sumber
Ini mudah dicapai dalam ES6 ;
Anda dapat mengonversi string menjadi Array dengan Array.from ('string') ;
akan menghibur.log
Yang persis apa yang Anda cari.
sumber
JSON.parse
ke yangArray.from
saya gunakanES6
. Terima kasihRay Kim
Array.from("0, 1, 233")
akan kembali["0", ",", " ", "1", ",", " ", "2", "3", "3"]
, bagaimana jika saya mau[0, 1, 233]
?Set
string.Jika string sudah dalam format daftar, Anda dapat menggunakan JSON.parse:
sumber
Konversi semua jenis string
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
Menghasilkan konsol
Beberapa latihan tidak mendukung string objek
sumber
Untuk anggota array sederhana seperti itu, Anda dapat menggunakan JSON.parse.
Ini memberi Anda Array angka.
sekarang nilai variabel Anda seperti array.length = 1
Nilai output
sumber
Kamu bisa menggunakan
split
Referensi: http://www.w3schools.com/jsref/jsref_split.asp
"0,1".split(',')
sumber
Pilihan lain menggunakan ES6 adalah menggunakan sintaks Spread .
var convertedArray = [..."01234"];
sumber
gunakan fungsi peta bawaan dengan fungsi anonim, seperti:
[sunting] Inilah cara Anda menggunakannya
sumber
"123, 'a string with a , comma', 456"
. Anda bisa menggunakan regex yang lebih kompleks untuk menangani kasus-kasus seperti itu dengan benar (misalnya sesuatu yang disarankan di sini )Lebih banyak contoh "Cobalah sendiri" di bawah ini.
Definisi dan Penggunaan Metode split () digunakan untuk membagi string menjadi array substring, dan mengembalikan array baru.
Kiat: Jika string kosong ("") digunakan sebagai pemisah, string dipisah antara setiap karakter.
Catatan: Metode split () tidak mengubah string asli.
sumber
Anda dapat menggunakan javascript Spread Syntax untuk mengonversi string ke array. Dalam solusi di bawah ini, saya menghapus koma kemudian mengonversi string ke array.
sumber
Bagaimana Mengonversi String Dipisahkan Koma menjadi Array dalam JavaScript?
Untuk Lebih Banyak Contoh konversi string ke array di javascript menggunakan cara-cara di bawah ini:
Split () dengan Limit Argument
lihat tautan ini ==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/
sumber
Saya menghapus karakter '[', ']' dan melakukan pemisahan dengan ','
sumber
Split (",") dapat mengonversi Strings dengan koma menjadi array String, berikut ini cuplikan kode saya.
sumber
// => mendeklarasikan ekspresi reguler
[a-zA-Z0-9] => cocok dengan semua az, AZ, 0-9
(): => kelompokkan semua elemen yang cocok
$ 1 => string pengganti mengacu pada grup pertandingan pertama di regex.
g => bendera global
sumber
Contoh menggunakan
Array.filter
:sumber
Mengapa Anda tidak mengganti
,
koma dansplit('')
string seperti ini yang akan menghasilkan['0', '1']
, selanjutnya, Anda bisa membungkus hasilnya menjadiparseInt()
untuk mengubah elemen menjadi tipe integer.sumber