数组的方法

1、forEach

arr.forEach(function(item,index,array){......})

2、map

arr.map(function(item,index,array){.....})
遍历数组---修改数组---返回数组

3、reduce  迭代(累加常用)   reduceRight

arr.reduce(function(pre,next){.....})
next 表示 数值中第一个数之后的下一个数    
pre 表示初始值是第一个数,但遍历一次之后,遍历的返回结果就是pre的值
res表示最后一吃操作的返回结果
reduce()方法从数组的第一项开始,逐个遍历到最后。
reduceRight()则从数组的最后一项开始,向前遍历到第一项。

4、every

let isok = arr.every(item => {
     if ( item%2 === 0 ) return true;
     return false
 })
 
every允许回调函数中返回true和false,如果全部都返回true的话,every方法的返回值就是true
 

5、filter

let brr = arr.filter(item => {
     if ( item%2 === 0 ) return true;
     return false
 })
 
filter 返回值是一个新数组,回调函数中返回true,这个回调函数对应的item就会放入到新数组中,回调函数返回false,这个item就会被过滤掉
返回新数组,且不会改变原数组
 

6、some

let has = arr.some(item => {
     if ( item%2 === 0 ) return true;
     return false;
 })
 
some 回调函数时每一次执行的时候都可以选择返回true或者false
some函数有返回值的,只要回调函数中有一次返回true,some的返回值就是true,否则就是false

7、indexOf    lastIndexOf

两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。
  indexOf()方法从数组的开头(位置 0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。
两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1。
在比较第一个参数与数组中的每一项时,会使用全等操作符;也就是说,要求查找的项必须严格相等(就像使用===一样)。
var numbers = [1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4)); //3
alert(numbers.lastIndexOf(4)); //5
alert(numbers.indexOf(4, 4)); //5
alert(numbers.lastIndexOf(4, 4)); //3
var person = { name: "Nicholas" };
var people = [{ name: "Nicholas" }];
var morePeople = [person];
alert(people.indexOf(person)); //-1
alert(morePeople.indexOf(person)); //0

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() 将数组转成 字符串

 
原文地址:https://www.cnblogs.com/mortalway/p/12010851.html