function removeEmptyArrayEle(arr){ for(var i = 0; i < arr.length; i++) { if(arr[i] == undefined) { arr.splice(i,1); i = i - 1; // i - 1 ,由於空元素在數組下標 2 位置,刪除空以後,後面的元素要向前補位, // 這樣才能真正去掉空元素,以爲這句能夠刪掉的連續爲空試試,而後思考其中邏輯 } } return arr; };
demo以下數組
var arr = [0,1,,,2]; Array.prototype.removeEmptyEle = function(arr){ for(var i = 0; i < arr.length; i++) { if(arr[i] == undefined) { arr.splice(i,1); i = i - 1; // i - 1 ,由於空元素在數組下標 2 位置,刪除空以後,後面的元素要向前補位, // 這樣才能真正去掉空元素,以爲這句能夠刪掉的連續爲空試試,而後思考其中邏輯 } } return arr; }; var test = arr.removeEmptyEle(arr); console.log(test); //[0,1,2]