欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js基础之数组

程序员文章站 2022-03-04 21:40:04
...

数组的每一项可以保存任何数据类型 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