// 索引:
        var arr = ["hello",true,"world",2,5,"abc"];
        console.log(arr)            //["hello", true, "world", 2, 5, "abc"]
        console.log(arr.length)     // 6
        // 增:
        console.log(arr[0])        //hello
        console.log(arr[arr.length-1])    //abc
        console.log(arr[arr.length])      //undefined
        arr[arr.length] = "hahahah";     
        console.log(arr[10])              //undefined
        arr[10] = "heiheihie"
        console.log(arr)   //["hello",true,"world",2,5,"abc","hahahah",empty × 3,"heiheihie"]
        console.log(arr[7])  //undefined
        console.log(arr[8])  //undefined
        console.log(arr[9])  //undefined
        // 删:
        console.log(arr.length)   //11
        arr.length = 4;
        console.log(arr)          //["hello", true, "world", 2]
        // 改:
        arr[1] = "qwe"
        arr[3] = 123
        console.log(arr)          // ["hello", "qwe", "world", 123]
    //     // 查:
        for(var i=0;i<arr.length;i++){
            console.log(arr[i])    //hello
                      			   //qwe
                      			   //world
                      			   //123	
        }
var arr = ["hello",true,123,"world"]
arr.push(456,"你好");
console.log(arr);
打印到控制台显示

 
var arr = ["hello",true,123,"world"]
arr.push(456,"你好");
arr.unshift(789);
console.log(arr);打印到控制台显示

var arr = ["hello",true,123,"world"]
arr.pop();
console.log(arr)打印到控制台显示

var arr = ["hello",true,123,"world"]
arr.pop();
   
arr.shift();
console.log(arr);打印到控制台显示

 
var arr = ["hello",true,123,"world"]
arr.splice(1,2) arr.splice(1,2,"admin")
arr.splice(2,0,"admin")
arr.splice(2,0,"admin","a","b",345)
console.log(arr)
打印到控制台显示

var arr = ["hello",true,123,"world"]
 var a = arr.slice(1,3)
  console.log(a)
  var a = arr.slice(1)
  console.log(a)
打印到控制台显示

var a=arr.reverse();
console.log(a)
打印到控制台显示

var a=arr.sort();
console.log(a)
打印到控制台显示

var arr = ["hello",true,123,"world"]
var a=arr.sort();var a=arr.valueOf();
console.log(a)
打印到控制台显示

var arr = ["hello",true,123,"world"]
var a=arr.toString();
console.log(a)打印到控制台显示

var arr = ["hello",true,123,"world"]
 var a=arr.join("-");
 console.log(a)打印到控制台显示

 
var arr = ["hello",true,123,"world"]
var a=arr.concat("你好","未来"); 
console.log(a)
打印到控制台显示

var arr = ["hello",true,123,"world"]
 var a=arr.indexOf(123);
  console.log(a)
打印到控制台显示

 var arr = ["hello",true,123,"world"]
        var a = arr.forEach(function(value,index,self){
            
        console.log(value + "--" + index + "--" + (arr === self));
        })
        console.log(a)
打印到控制台显示,console.log(a) 值为undefined是因为该方法没有返回值

var arr = ["hello",true,123,"world"]
        var a = arr.map(function(value,index,self){
console.log(value + "--" + index + "--" + (arr === self));
        })
        var a = arr.map(function(value,index,self){
return "Hi"+value;
})
        console.log(a)
        console.log(arr)
打印到控制台显示

 var arr = ["hello",true,123,"world"]
        var a = arr.filter(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr === self));
        })
        var a = arr.filter(function(value,index,self){
        return value.length>3;
        })
        console.log(a)
        console.log(arr)
打印到控制台显示

var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.every(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr == self))
    })
    // 打印结果为:
    // Tom--0--true
    //因为回调函数中没有return true,默认返回undefined,等同于返回false
    //demo2:
    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.every(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr == self))
        return value.length < 4;
    })
    // 打印结果为:
    // Tom--0--true
    // abc--1--true
    // Jack--2--true
    //因为当遍历到Jack时,回调函数到return返回false,此时Jack已经遍历,但是后面数据就不再被遍历了
    //demo3:
    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.every(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr == self))
        return true;
    })
    // 打印结果为:
    // Tom--0--true
    // abc--1--true
    // Jack--2--true
    // Lucy--3--true
    // Lily--4--true
    // May--5--true
    //因为每个回调函数的返回值都是true,那么会遍历数组所有数据,等同于forEach功能
var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.every(function(value,index,self){
        return value.length > 3;
    })
    console.log(a);           //false
    //demo2:
    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.every(function(value,index,self){
        return value.length > 2;
    })
    console.log(a);           //true
 var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.some(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr == self))
        return value.length > 3;
    })
    // 打印结果为:
    // Tom--0--true
    // abc--1--true
    // Jack--2--true
    //demo2:
    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.some(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr == self))
        return true;
    })
    // 打印结果为:
    // Tom--0--true
    //demo3:
    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.some(function(value,index,self){
        console.log(value + "--" + index + "--" + (arr == self))
        return false;
    })
    // 打印结果为:
    // Tom--0--true
    // abc--1--true
    // Jack--2--true
    // Lucy--3--true
    // Lily--4--true
    // May--5--true
var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.some(function(value,index,self){
        return value.length > 3;
    })
    console.log(a);             //true
    //demo2:
    var arr = ["Tom","abc","Jack","Lucy","Lily","May"];
    var a = arr.some(function(value,index,self){
        return value.length > 4;
    })
    console.log(a);             //false
//demo1:不省略initial参数,回调函数没有返回值
    var arr = [10,20,30,40,50];
    arr.reduce(function(prev,now,index,self){
        console.log(prev + "--" + now + "--" + index + "--" + (arr == self))
    }, 2019)
    // 打印结果为:
    // 2019--10--0--true
    // undefined--20--1--true
    // undefined--30--2--true
    // undefined--40--3--true
    // undefined--50--4--true
    // 此时回调函数没有return,所以从第二次开始,prev拿到的是undefined
    //demo2:省略initial参数,回调函数没有返回值
    var arr = [10,20,30,40,50];
    arr.reduce(function(prev,now,index,self){
        console.log(prev + "--" + now + "--" + index + "--" + (arr == self))
    })
    // 打印结果为:第一次,回调函数的第一个参数是数组的第一项。第二个参数就是数组的第二项
    // 10--20--1--true
    // undefined--30--2--true
    // undefined--40--3--true
    // undefined--50--4--true
    // 此时回调函数没有return,所以从第二次开始,prev拿到的是undefined
    //demo3:不省略initial参数,回调函数有返回值
    var arr = [10,20,30,40,50];
    arr.reduce(function(prev,now,index,self){
        console.log(prev + "--" + now + "--" + index + "--" + (arr == self));
        return "hello";
    }, 2019)
    // 打印结果为:
    // 2019--10--0--true
    // hello--20--1--true
    // hello--30--2--true
    // hello--40--3--true
    // hello--50--4--true
    // 此时回调函数有return,所以从第二次开始,prev拿到的是回调函数return的值
    //demo4:省略initial参数,回调函数有返回值
    var arr = [10,20,30,40,50];
    arr.reduce(function(prev,now,index,self){
        console.log(prev + "--" + now + "--" + index + "--" + (arr == self));
        return "hello";
    })
    // 打印结果为:第一次,回调函数的第一个参数是数组的第一项。第二个参数就是数组的第二项
    // 10--20--1--true
    // hello--30--2--true
    // hello--40--3--true
    // hello--50--4--true
    // 此时回调函数有return,所以从第二次开始,prev拿到的是回调函数return的值
    //demo5:使用reduce计算数组中所有数据的和
    var arr = [10,20,30,40,50];
    var sum = arr.reduce(function(prev,now,index,self){
        return prev + now;
    })
    console.log(sum);      //150
    // 回调函数的最后一次return的结果被返回到reduce方法的身上
    //demo6:使用reduce计算数组中所有数据的和
    var arr = [10,20,30,40,50];
    var sum = arr.reduce(function(prev,now,index,self){
        return prev + now;
    }, 8)
    console.log(sum);      //158
    // 回调函数的最后一次return的结果被返回到reduce方法的身上
    // 因为reduce有第二个参数initial,在第一次执行时被计算,所以最终结果被加上8
原文:https://www.cnblogs.com/mhcll/p/11417936.html