.join() - 数组成员拼接为字符串,原数组不变
.reverse() - 翻转数组成员,修改原数组
.sort() - 按字符串将数组成员排序,修改原数组
.concat() - 连接两个数组,原数组不变
.slice() - 数组切片,原数组不变
.splice() - 数组剪切和在剪切位置插入成员,修改原数组
ES5特性下的arr函数
1.forEach(function(x,index,a){ do something });按数组长度循环,每次循环中,参数x为当前循环的元素,index为下标,a为指向本数组的指引。
2.map(function(x){ do something }); 也是将数组循环,x为当前循环的元素。不会修改原数组。
3.filter(function(x,index){return % 3 === 0|| x>8; }); 可以按function内的条件过滤数组。不会修改原数组。
4.arr.every(function(x){return x<10;})判断数组每个元素是否满足条件,arr.some()则是判断数组内是否含有满足条件的元素。
5.reduce(function(x,y){return x+y;},0);数组元素两两作运算(从左开始),reduceRight则是从右开始。不会改变原数组。
6.indexOf() 检索参数在数组中所在的下标。lastIndexOf(),从右边开始查找
7.isArrray([]); [] instanceof Array; ({}).toString.apply([])==='[object Array]' [].constructor===Array; 都是判断是否为数组的方法。
数组VS对象:
相同点:都可以继承,数组是对象,对象不一定是数组,都可以当作对象添加删除属性。
不同点:数组自动更新length,按索引访问数组常常比访问一般对象属性明显迅速。数组对象继承Array.prototype上的大量数组操作方法。