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. android - NavigationView 的側(cè)滑菜單中如何保存新增項(xiàng)(通過(guò)程序添加)2. mysql服務(wù)無(wú)法啟動(dòng)1067錯(cuò)誤,誰(shuí)知道正確的解決方法?3. javascript - 微信公眾號(hào)網(wǎng)頁(yè)使用redux如何管理用戶刷新?4. 提示語(yǔ)法錯(cuò)誤語(yǔ)法錯(cuò)誤: unexpected ’abstract’ (T_ABSTRACT)5. 這段代碼既不提示錯(cuò)誤也看不到結(jié)果,請(qǐng)老師明示錯(cuò)在哪里,謝謝!6. php7.3.4中怎么開啟pdo驅(qū)動(dòng)7. 老師 我是一個(gè)沒(méi)有學(xué)過(guò)php語(yǔ)言的準(zhǔn)畢業(yè)生 我希望您能幫我一下8. ueditor上傳服務(wù)器提示后端配置項(xiàng)沒(méi)有正常加載,求助!!!!!9. tp5 不同控制器中的變量調(diào)用問(wèn)題10. php - 第三方支付平臺(tái)在很短時(shí)間內(nèi)多次異步通知,訂單多次確認(rèn)收款
