array数组的常用方法

判断变量是不是数组(对象也适用)

​ var obj = [];

(1)instanceof方法

​ obj instanceof Array ; //true

(2)Array.isArray()方法

​ Array.isArray(obj); //true

数组的拼接

.concat(数组,数组,数组);将多个数组拼接起来,组合一个新的数组

var arr = [10,20,30];
var arr1 = [40,50,60];
var arr2 = [70,80,90];
var array = arr.concat(arr1,arr2);
console.log(array);         //[10, 20, 30, 40, 50, 60, 70, 80, 90]

.every():该函数返回的是布尔值,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来数组

如果这个数组中的每个元素都符合条件,最后才返回的是true

举个例子:


例子1:
var arr = [100,200,300];
var flag = arr.every(function(a,b){
      return a > 200;           //数组中的每个元素都要大于200才返回true
})
console.log(flag);      //false,因为并不是每个元素都大于200

例子2:
var arr = ["小白白","小明明","小花花","小周周"];
var flag = arr.every(function(ele,index){
    return ele.length>2;    //判断数组的每个元素是不是长度都大于2
})
console.log(flag);      //true

.filter(函数):返回的是数组中每一个元素都符合条件的元素,组成了一个新的数组

var arr = [10,0,20,0,30,0,40,0,50];
//数组里面的每个元素都会执行一遍下面的函数
var newArr = arr.filter(function (ele){
    return ele!=0;  //返回的是不等于0的数组
});
console.log(newArr);    //[10, 20, 30, 40, 50]

.push(值):给数组追加元素

var arr = [10,20,30];
arr.push(400);
console.log(arr);       //[10, 20, 30, 400]

.pop():弹出数组的最后一个元素

​ 该函数有返回值,返回值就是删除掉的那个值

var arr =[10,20,30,40];
arr.pop();
console.log(arr);       //[10, 20, 30]

.shift():删除的都是数组的第一个值

var arr =[10,20,30,40];
var r = arr.shift();
console.log(r);             //返回的是删除的那个值
console.log(arr);           //[20, 30, 40]

unshift():向数组的第一个元素前面插入一个新的元素,返回值是插入后的长度


var arr =[10,20,30];
var r = arr.unshift();
console.log(r);             //4
console.log(arr);           //[100, 10, 20, 30]

forEach(函数):遍历数组

var arr = [10,20,30,40];
arr.forEach(function (ele,index){
    console.log(ele+","+index);
});
结果:10,0  20,1  30,2  40,3

.indexOf(值):返回的是索引,跟String里面的用法一样

.join(符号或者值):返回的是字符串(加进去值的字符串)


var arr= ["小白","小明","小红","小爱","小花"];
var str = arr.join("|");    //在这些值之间加“|”
console.log(str);       //小白|小明|小红|小爱|小花

.map(函数):数组中的每个元素都要执行这个函数,把执行后的结果重新组成一个数组


var num = [1,4,9];
var roots = num.map(Math.sqrt); 
console.log(roots);             //[1, 2, 3]

.reverse():实现数组的反转


var arr = [10,20,30,40,50];
arr.reverse();
console.log(arr);       // [50, 40, 30, 20, 10]

.sort():实现排序

注意:这个函数不稳定,有时候可以排序,有时候不行,要给里面传一个函数,才能使这个排序稳定


var arr = [1,3,23,65,2,3];
arr.sort();
console.log(arr);       //[1, 2, 23, 3, 3, 65]
此时就不稳定,所以并没有排序成功,需要给sort里面传一个参数,看以下代码
var arr = [1,3,23,65,2,3];
arr.sort(function(a,b){
//此时的a就相当于arr[i],b相当于arr[i+1],两者进行比较
    if(a>b){
        return 1;
    }else if(a==b){
        return 0;
    }else{
        return -1;
    }
});
console.log(arr);       //[1, 2, 3, 3, 23, 65]
此时就排序好了,sort函数里面的代码是固定的

.slice(a,b):截取一段字符串,从a开始到b结束,包含a不包含b

splice(开始的位置,要删除的个数,替换的元素的值):用于删除数组中的元素或者是替换元素,或者是插入元素

var arr = ["programmer","english","important","logic"];
arr.splice(2,0,"very");     //就是在下标为2的后面插入一个“very”的单词
console.log(arr);           // ["programmer", "english", "very", "important", "logic"]
var arr = ["programmer","english","important","logic"];
arr.splice(1,1,"very");     //下标为1的后面删除一个之后,插入指定的单词
console.log(arr);       //["programmer", "very", "important", "logic"]
var arr = ["programmer","english","important","logic"];
arr.splice(2,1);        //从第二个开始,删除一个
console.log(arr);       //["programmer", "english", "logic"]

猜你喜欢

转载自blog.csdn.net/admin_ccc/article/details/80946115