小編給大家分享一下ES6中數(shù)組的空位是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)成都定制網(wǎng)站等服務(wù)項目。核心團(tuán)隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都崗?fù)?/a>等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致贊賞!
數(shù)組的空位指,數(shù)組的某一個位置沒有任何值。比如,Array構(gòu)造函數(shù)返回的數(shù)組都是空位。
注意,空位不是undefined,一個位置的值等于undefined,依然是有值的??瘴皇菦]有任何值,in運(yùn)算符可以說明這一點。
0 in [undefined, undefined, undefined] // true 0 in [, , ,] // false
上面代碼說明,第一個數(shù)組的 0 號位置是有值的,第二個數(shù)組的 0 號位置沒有值。
ES5 對空位的處理,已經(jīng)很不一致了,大多數(shù)情況下會忽略空位。
forEach() , filter() , every() 和some()都會跳過空位。
map()會跳過空位,但會保留這個值
join()和toString()會將空位視為undefined,而undefined和null會被處理成空字符串。
// forEach方法 [,'a'].forEach((x,i) => console.log(i)); // 1 // filter方法 ['a',,'b'].filter(x => true) // ['a','b'] // every方法 [,'a'].every(x => x==='a') // true // some方法 [,'a'].some(x => x !== 'a') // false // map方法 [,'a'].map(x => 1) // [,1] // join方法 [,'a',undefined,null].join('#') // "#a##" // toString方法 [,'a',undefined,null].toString() // ",a,,"
ES6則是明確將空位轉(zhuǎn)為undefined。
//Array.from方法會將數(shù)組的空位,轉(zhuǎn)為undefined,也就是說,這個方法不會忽略空位。 Array.from(['a',,'b']) // [ "a", undefined, "b" ] //擴(kuò)展運(yùn)算符(...)也會將空位轉(zhuǎn)為undefined。 [...['a',,'b']] // [ "a", undefined, "b" ] //copyWithin()會連空位一起拷貝。 [,'a','b',,].copyWithin(2,0) // [,"a",,"a"] //fill()會將空位視為正常的數(shù)組位置。 new Array(3).fill('a') // ["a","a","a"] //for...of循環(huán)也會遍歷空位。 let arr = [, ,]; for (let i of arr) { console.log(1); } // 1 // 1 //上面代碼中,數(shù)組arr有兩個空位,for...of并沒有忽略它們。如果改成map方法遍歷,空位是會跳過的。 //entries()、keys()、values()、find()和findIndex()會將空位處理成undefined。 // entries() [...[,'a'].entries()] // [[0,undefined], [1,"a"]] // keys() [...[,'a'].keys()] // [0,1] // values() [...[,'a'].values()] // [undefined,"a"] // find() [,'a'].find(x => true) // undefined // findIndex() [,'a'].findIndex(x => true) // 0 //由于空位的處理規(guī)則非常不統(tǒng)一,所以建議避免出現(xiàn)空位。
以上是“ES6中數(shù)組的空位是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前題目:ES6中數(shù)組的空位是什么
URL網(wǎng)址:http://www.rwnh.cn/article26/jdghcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、做網(wǎng)站、企業(yè)建站、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)