javascript - es6將類數(shù)組轉(zhuǎn)化成數(shù)組的問(wèn)題
問(wèn)題描述
栗子:var a = {’1’:’gg’,’2’:’love’,’4’:’meimei’,length:5};var arr=[...a];console.log(arr);
谷歌瀏覽器下報(bào)錯(cuò):Uncaught TypeError: a[Symbol.iterator] is not a function
類數(shù)組的定義:/a/11...
javascript關(guān)于‘...’的介紹說(shuō)明文檔:https://developer.mozilla.org...
javascript官方文檔說(shuō)’...’可以將類數(shù)組轉(zhuǎn)化成數(shù)組,為什么還會(huì)報(bào)錯(cuò)呢?迷惑!
問(wèn)題解答
回答1:你發(fā)的文章,自己也要先看清楚呀。
之所以成為“類數(shù)組”,就是因?yàn)楹汀皵?shù)組”類似。不能直接使用數(shù)組方法,但你可以像使用數(shù)組那樣,使用類數(shù)組。
不可以直接使用數(shù)組方法,你這個(gè)擴(kuò)展語(yǔ)句不就是 直接使用了么?
你需要先把類數(shù)組轉(zhuǎn)化成數(shù)組,可以使用文章中介紹的 Array.prototype.slice.call(arguments)
ES6 也有個(gè)方法,Array.from(arrayLike)
回答2:請(qǐng)用 Array.from()
如果你看英文的頁(yè)面就會(huì)發(fā)現(xiàn)展開對(duì)象需要是可遍歷的
Only for iterablesSpread syntax can be applied only to iterable objects:
var obj = {’key1’: ’value1’};var array = [...obj]; // TypeError: obj is not iterable回答3:
es6新增那么多特性,你指望瀏覽器能全實(shí)現(xiàn)?
相關(guān)文章:
1. MySQL中的enum類型有什么優(yōu)點(diǎn)?2. python - 關(guān)于代碼的優(yōu)化問(wèn)題3. update方法不能更新字段值為0的數(shù)據(jù)4. Python爬蟲如何爬取span和span中間的內(nèi)容并分別存入字典里?5. python - django模板 include模板的數(shù)據(jù)問(wèn)題6. 老哥們求助啊7. html5 - 自己的H5頁(yè)面如何集成支付寶支付8. python小白 問(wèn)關(guān)于類里面屬性的問(wèn)題9. mysql如何判斷數(shù)據(jù)不存在則插入呢?10. list - python 求助
