JavaScript数组方法的基本使用

 

一.创建数组

1.常规方法

var arr=new Array();
        arr[0]="张三";
        arr[1]="李四";
        arr[2]="王五";
        arr.log(arr)    //(3) ["张三", "李四", "王五"]

2.简洁方式

var arr= new Array("张三", "李四", "王五");
console.log(arr);    //(3) ["张三", "李四", "王五"]

3.字面量形式

var arr=["张三", "李四", "王五"];
console.log(arr);        //(3) ["张三", "李四", "王五"]

二.数组的操作方法

1.push()

作用:在数组的末位新增元素

语法:arr.push(参数)

参数:新增的元素,可以是一个或者多个,多个使用逗号间隔

返回值:新增元素之后,新数组的长度,单元个数改变

var arr=["张三", "李四", "王五"];
arr.push("赵六");
console.log(arr);        //(4) ["张三", "李四", "王五", "赵六"]

2.unshift()

作用:在数组的首位,新增元素

语法:arr.unshift(参数)

参数:新增的元素,可以是一个或者多个,多个使用逗号间隔

返回值:新增元素之后,新数组的长度,单元个数改变

var arr=["张三", "李四", "王五"];
arr.unshift("赵六");
console.log(arr);        //(4) ["赵六", "张三", "李四", "王五"]

3.pop()

作用:删除数组的最后一个元素

语法:arr.pop()

参数:一次只能删除一个单元,没有参数

返回值:删除元素后的数组内容

var arr=["张三", "李四", "王五"];
arr.pop();
console.log(arr);        //(2) ["张三", "李四"]

4.shift()

作用:删除数组的第一个元素

语法:arr.shift()

参数:一次只能删除一个单元,没有参数

返回值:删除元素后的数组内容

var arr=["张三", "李四", "王五"];
arr.shift();
console.log(arr);        //(2) ["李四", "王五"]

5.splice()

作用:删除数组指定元素

语法:arr.splice(参数1,参数2,参数3)

参数:参数1:删除元素的起始索引下标,参数2:从起始索引开始,删除的元素的个数,参数3:可选,删除的所有的元素,作为一个整体,用一个内容来替换

返回值:删除或替换后的数组内容

var arr=["张三", "李四", "王五"];
arr.splice(1,1);
console.log(arr);        //(2) ["张三", "王五"]

6.sort()

作用:数组的排序,默认按首位的数值大小排序

语法:arr.sort()

参数:为空默认从小到大排序,从小到大:数组.sort(function(a,b){return a-b}),从大到小:数组.sort(function(a,b){return b-a})

返回值:排序后的数组

var arr=[2, 8, 5];
arr.sort();
console.log(arr);        //(3) [2, 5, 8] 默认从小到大排序
arr.sort(function(a,b){return b-a})
console.log(arr);        //(3) [8, 5, 2] 从大到小

7.join()

作用:数组元素拼接为字符串,不改变原数组

语法:arr.join(参数)

参数:默认为逗号,如果不需要间隔符号,需要设定为空字符串

返回值:数组元素拼接的字符串

var arr=[2, 8, 5];
console.log(arr.join(""))        //285
console.log(arr.join())        //2,8,5

8.reverse()

作用:数组元素反转排序,不改变原数组

语法:数组.reverse()

参数:

返回值:反转之后的数组

var arr=[2, 8, 5];
console.log(arr.reverse())        //(3) [5, 8, 2]

9.concat()

作用:数组拼接,不改变原数组

语法:arr1.concat(arr2)

参数:需要拼接上的数组,多个中间用逗号隔开

返回值:拼接后的数组

var arr1=[1,2,3];
var arr2=["a","b","c"];
var arr3=["A","B","C"];
console.log(arr1.concat(arr2,arr3))        //(9) [1, 2, 3, "a", "b", "c", "A", "B", "C"]

10.slice()

作用:数组中返回选定的元素

语法:数组.slice(参数1,参数2)

参数:参数1:选定的起始位置,参数2:选定的结束位置(不包含)

返回值:选中的元素

var arr=["a","b","c"];
console.log(arr.slice(1,2))        //["b"]

11.reduce()

作用:元素累加

语法:arr.reduce(参数)

参数:回调函数function(total,num){return total+num;}

返回值:累加结果

var arr=[2,4,5,10];
console.log(arr.reduce(function(total,num){        //21
	return total+num
}))

12.indexOf()

作用:查找数组中是否有某个值

语法:数组.indexOf("参数")

参数:想要查找的值

返回值:如果存在,返回该值所在的位置,不存在返回-1

var arr=["a","b","c"];
console.log(arr.indexOf("b"))        //1
console.log(arr.indexOf("d"))        //-1

13.every()

作用:是否所有元素符合条件

语法:数组.every()

参数:回调函数function(n){return 条件}

返回值:true/false

var arr=[2,4,5,10];
console.log(arr.every(function(n){
	return 1<n;        //true
}))
console.log(arr.every(function(n){
	return 2<n;        //false
}))

14.some()

作用:是否有元素符合条件

语法:arr.some(参数)

参数:回调函数function(n){return 条件}

返回值:true/false

var arr=[2,4,5,10];
console.log(arr.some(function(n){        //true
	return 1<n;
}))
console.log(arr.some(function(n){        //true
	return 2<n;
}))

15.forEach()

作用:遍历数组

语法:arr.forEach(参数)

参数:回调函数function(item,index,arr){操作}  item:值,index:下标,arr:所属数组

返回值:无

var arr=[2,4,5,10];
console.log(arr.forEach(function(item,index,val){
	console.log(item,index,val)
}))

16.map()

作用:映射

语法:arr.map(参数)

参数:回调函数function(n){return 操作}

返回值:新数组的元素个数与原始数组的元素个数相同,只是对这些数据进行了操作

var arr=[2,4,5,10];
console.log(arr.map(function(n){        //(4) [3, 5, 6, 11]
	return 1+n;
}))

17.filter()

作用:过滤

语法:arr.filter(参数)

参数:回调函数function(n){return 操作}

返回值:符合条件的元素

var arr=[2,4,5,10];
console.log(arr.filter(function(n){        //(3) [4, 5, 10]
	return 3<n;
}))

18.fill()

作用:将一个固定值替换数组的元素

语法:arr.fill(参数)

参数:需要替换的值

返回值:替换后的数组

var arr=[2,4,5,10];
console.log(arr.fill(1))        //(4) [1, 1, 1, 1]

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值