刘小六
2016-09-12 22:05:09浏览 2889
1. 数组:弱类型,长度0~(2^23 -1)
1. delete arr[0];不影响array的长度,只是将arr[0]变成undefined; pop和shift或者将length-1可以真正删除数组元素
2. js数组是动态的,无需指定大小
3. push()后添加 / unshift()前添加
4. 数组迭代:for in不保证顺序,且对象原型链上的属性也会出现在循环中
5. 稀疏数组
6. 数组方法:Array.prototype
1. join:默认用逗号连接;空数组join时undefined被忽略,只留下用于连接的符号
2. reverse:原数组被修改
3. sort:默认按字母顺序排序
4. concat:合并数组,原数组不变;合并时数组被拉平一次
5. slice(start,end): [start,end);支持负数,-1表示最后一个元素;原数组不变
6. splice(删除元素开始的位置,删除元素个数,要添加的元素):数组拼接,会修改原数组,添加的元素位置是删除元素的位置
7. forEach(函数(元素值,索引,arr起始指针)):
8. map(函数):数组映射,不影响原数组
9. filter(函数),过滤,不影响原数组
10. every() & some()
11. reduce(),数组元素两两操作;reduceRight从右到左遍历。
12. indexOf(要查找的元素, 开始查找的位置)从左到右找 & lastIndexOf()从右到左找
13. Array.isArray();判断是否为数组(也可以用instanceof / object.prototype.toString.apply([]) === '[object Array]' / [].constructor === Array)