1、forEach
arr.forEach(function(item,index,array){......})
2、map
3、reduce 迭代(累加常用) reduceRight
4、every
5、filter
6、some
7、indexOf lastIndexOf
8、数组遍历(遍历---循环)
for 或 for ... in
for .. in 遍历语法格式 :
for( var 变量 in 对象 ){
。。。。
}
for...in 特点 :
没有循环条件
自动取出下标 从0开始 到arr.length-1 自动结束
下标类型 string
for...in 只能遍历对象
json对象 { } 的遍历 只能通过for..in 遍历
判断一个对象是否为一个数组
instanceof
对象 instanceof 构造函数 返回布尔值 如果对象属于该构造函数返回true,否则返回false
9、数组的操作方法
尾部操作:
push() 向数组尾部添加一个或多个数 长度会随之改变,括号中有参数
pop() 删除数组尾部一个元素 没有参数
头部操作 :
unshift() 向数组头部添加一个或多个数 长度会随之改变,括号中有参数
shift() 删除数组第一项元素并返回该元素 没有参数
splice()
splice( start ) 表示删除从start位置开始的数据 ,删除到数组结尾
splice( start , length ) 表示删除从start位置开始的数据,到指定位置结束
splice( start,length , num1,num2 ) 第三个参数个数不固定
当length值为1 表示替换
当length值为0 表示添加
reverse()反转数组项的顺序
sort() :数组排序方法 改变原数组 默认是升序排序 默认是按 字符 排序
function fnSort(){
var arr = ["a","f","afs","df","w","u"];
var arr = [100,34,78,234,789,1000];
// arr.sort(); 没有参数按 字符 来排序
arr.sort( function(x,y){
//return x-y>0;
return x-y<0;
} )
alert( arr );
}
fnSort();
如果按数值排序 :
arr.sort( function( x,y ){
return x-y>0; 升序排序 return x-y < 0 降序排序
} )
reverse() 翻转数组 (改变原数组)
上面6个方法都会改变原数组
下面这些方法 不会改变原数组 明白这些方法的返回值
concat() 数组的合并 arr.concat( brr )
join() 将数组转成 字符串