Вот так нагляднее будет 
 
 
var arr = [];
arr.test = function () {};
arr[4] = 4;
arr[9] = 9;
arr[5] = 'Text';
arr[8] = 9000;
console.log(
 arr.join().split(/\d+/).length - 1,
 Object.keys(arr).length,
 arr.join("").length,
 arr.join().replace(/\,{2,}/g, ',').replace(/^\,|\,$/g,'').split(',').length
);
alert(arr);