怎樣理解數組的空元素empty與undefined的區別


數組的空元素empty表示空位, 它不是一種數據類型, 而是由於人為修改arr.length 或者寫入時多寫了逗號造成的. 

var arr = [1,2,3,4,,,5];
arr.length; // 7

arr.length = 10;
arr; // [1, 2, 3, 4, empty × 2, 5, empty × 3]

 

undefined是一種數據類型, 在數組中表示這個位置的值未定義, 但它仍然指向某個內存地址, 這個內存地址指向的是undefined;

var arr = [1,2,3,undefined,4,5];
arr.length; // 6

 

empty和undefined在操作數組時的主要區別在於:

使用數組的forEach()方法遍歷時會自動忽略空位, 而使用for循環則會將empty轉換為undefined並遍歷.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM