1、足够稀疏的数组通常在实现上比稠密的数组更慢、内存利用率更高,在这样的数组中查找元素的时间与常规对象属性的查找时间一样长。
2、数组有两个特殊的行为:第一个,如果为一个数组元素赋值,它的索引i大雨或等于现有数组的长度时,length属性的值将设置为i+1。第二个,当设置length属性为一个小于当前长度的非负整数n时,当前数组中那些索引值大于或等于n的元素将从中删除。
3、因为filter()函数会跳过稀疏数组中缺少的元素,它的返回数组总是稠密的。因此可以用来压缩稀疏数组的空:
vardense = sparse.filter(function(){return true});
甚至,可以压缩空缺并删除undefined和null元素:
var a= a.filter(function(x){return x !== undefined && x != null;});
4、在空数组上调用every()总返回true,调用some()总返回false()。
5、字符串是不可变值,故当把它们作为数组看待时,它们是只读的。如push()、sort()、reverse()和splice()等数组方法会修改数组,它们在字符串上是无效的。不仅如此,使用数组方法来修改字符串会导致错误:出错的时候没有提示。