javascript - masalah es6 untuk menukar tatasusunan kelas kepada tatasusunan
扔个三星炸死你
扔个三星炸死你 2017-06-30 09:55:43
0
3
703

Berangan:
var a = {'1':'gg','2':'love','4':'meimei',length:5};
var arr=[...a];
console .log(arr);

Ralat dilaporkan di bawah Google Chrome: Uncaught TypeError: a[Symbol.iterator] bukan fungsi

Takrifan seperti tatasusunan:/a/11...

Dokumentasi pengenalan JavaScript pada ‘...’: https://developer.mozilla.org...

Dokumentasi JavaScript rasmi mengatakan bahawa '...' boleh menukar tatasusunan kelas kepada tatasusunan Mengapa ia masih melaporkan ralat? mengelirukan!

扔个三星炸死你
扔个三星炸死你

membalas semua(3)
伊谢尔伦

Anda hendaklah membaca artikel yang anda siarkan dengan teliti terlebih dahulu.

Sebab mengapa ia dipanggil "seperti array" adalah kerana ia serupa dengan "array". Anda tidak boleh menggunakan kaedah tatasusunan secara langsung, tetapi anda boleh menggunakan kaedah seperti tatasusunan seperti tatasusunan.

Anda tidak boleh menggunakan kaedah tatasusunan secara langsung Bukankah pernyataan sambungan anda digunakan secara langsung?

Anda perlu menukar tatasusunan kelas kepada tatasusunan terlebih dahulu, anda boleh menggunakan kaedah yang diperkenalkan dalam artikel Array.prototype.slice.call(arguments)

ES6 juga ada kaedah, Array.from(arrayLike)

習慣沉默

Sila gunakan Array.from()

Jika anda melihat halaman Bahasa Inggeris, anda akan mendapati bahawa objek yang diperluaskan perlu dilalui

Hanya untuk iterables

Sintaks penyebaran boleh digunakan hanya pada objek boleh lelar:

var obj = {'key1': 'value1'};
var array = [...obj]; // TypeError: obj is not iterable
滿天的星座

ES6 mempunyai begitu banyak ciri baharu, adakah anda menjangkakan pelayar akan melaksanakan kesemuanya?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!