js基础之数组

数组的每一项可以保存任何数据类型 new Array()一个参数代表长度,两个及以上参数代表数组元素

方法:
1.push(item)可添加多个逗号隔开
2.pop()。无参。删除最后一个,返回删除掉的元素
3.unshift(item);前面加一个,返回变化后的数组的长度。可添加多个,逗号分隔
4.shift()。删除第一个,返回删除的元素
5.splice()。拼接

①arr.splice(开始下标,长度);删除,返回删除的。
②arr.splice(开始下标); 删除,返回删除的。
③arr.splice(开始下标,0,'aa');添加,在开始下标位置
④arr.splice(开始下标,1,'aa')替换

6.reverse() 倒叙
7.sort() 排序

需要传递一个函数作为参数

arr.sort(function(a,b){
    return a-b;
})
复制代码

以上方法改变数组

以下方法不改变数组,生成新数组

8.concat(值)合并,能加数组也能加元素
9.slice(开始下标,结束下标)切片。查找包括开始下标不包括结束下标
只有开始下标,表示从开始一直到结束
负值表示倒数。
例子:var arr=[1,2,3,4,5]; arr.slice(-3); 结果[3,4,5];
复制代码
10.indexOf(item); 查找元素所在的下标,找不到,返回-1
11.toString() 数组转字符串,逗号分隔
12.join()转字符串,用指定分隔符
13.valueOf() 返回数组本身

ECMAScript5中的数组方法

1.forEach()
var arr=[1,2,3,4];
var sum=0;
var res=arr.forEach(function(v,i,a){
    sum+=v;
})
复制代码
2.map() 对数组中的每一项进行操作,并把操作的结果放到新的数组中
var arr1=arr.map(function(x){
    return x*3;
})
console.log(arr1);    //[1,6,9,12]
复制代码
3.filter() 用来筛选数组中所有符合条件的元素,并把处理结果放到一个新数组中,(如果没有返回值,新数组中的每一项都是undefined)
var arr2=['电视','音响','耳机','收音机'];
var arr3=arr2.filter(function(x){
    return new RegExp('机').test(x);
})
console.log(arr3);    //['耳机','收音机']
复制代码
4.find() 用来返回数组中符合条件的第一个元素。
5.every some 返回true/false
var arr2=['电视','音响','耳机','收音机'];
var flag=arr2.every(function(x){
    return x.length<3;
})
console.log(flag);    //false
复制代码
var flag2=arr2.some(function(x){
    return x.length<3;
})
console.log(flag2);     //true
复制代码
6.reduce reduceRight
var arr=[1,2,3,4];
var res=arr.reduce(function(x,y){
    if(x>y){
        return x;
    }else{
        return y;
    }
})    //res=4;
从左到右,取大的,再和下一个比较,取大的。

var arr4=[2,2,4];
var res2 = arr4.reduceRight(function(x,y){
    return Math.pow(x,y);
})    //256
复制代码

转载于:https://juejin.im/post/5cdd7ca3518825647e364f67

你可能感兴趣的:(js基础之数组)