亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES6中數組的空位是什么

發布時間:2022-03-24 14:13:58 來源:億速云 閱讀:209 作者:小新 欄目:web開發

小編給大家分享一下ES6中數組的空位是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

數組的空位

數組的空位指,數組的某一個位置沒有任何值。比如,Array構造函數返回的數組都是空位。

注意,空位不是undefined,一個位置的值等于undefined,依然是有值的。空位是沒有任何值,in運算符可以說明這一點。

0 in [undefined, undefined, undefined] // true
0 in [, , ,] // false

上面代碼說明,第一個數組的 0 號位置是有值的,第二個數組的 0 號位置沒有值。

ES5 對空位的處理,已經很不一致了,大多數情況下會忽略空位。

  • 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則是明確將空位轉為undefined。

//Array.from方法會將數組的空位,轉為undefined,也就是說,這個方法不會忽略空位。  
Array.from(['a',,'b'])  // [ "a", undefined, "b" ]  


//擴展運算符(...)也會將空位轉為undefined。  
[...['a',,'b']]  // [ "a", undefined, "b" ]  


//copyWithin()會連空位一起拷貝。  
[,'a','b',,].copyWithin(2,0) // [,"a",,"a"]  


//fill()會將空位視為正常的數組位置。  
new Array(3).fill('a') // ["a","a","a"]  


//for...of循環也會遍歷空位。  
let arr = [, ,];  
for (let i of arr) {  
    console.log(1);  
}  
// 1  
// 1  
//上面代碼中,數組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  
//由于空位的處理規則非常不統一,所以建議避免出現空位。

以上是“ES6中數組的空位是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

es6
AI

牡丹江市| 东阿县| 潢川县| 翼城县| 北碚区| 灵丘县| 舟山市| 永福县| 绥德县| 龙川县| 衡阳县| 鹤峰县| 岱山县| 阳曲县| 隆昌县| 进贤县| 武邑县| 杂多县| 綦江县| 鄂伦春自治旗| 唐海县| 阿克苏市| 巴南区| 馆陶县| 清流县| 平昌县| 新龙县| 莎车县| 苗栗市| 竹北市| 融水| 陇南市| 陇西县| 灵武市| 漾濞| 察雅县| 大埔区| 大姚县| 宕昌县| 东乡族自治县| 宁武县|