JavaScript中数组常用的19种方法总结

1、length
获取数组长度

var arr = [1,2,3,4,5];
arr.length;//5

2、toString()
返回由数组中每个值的字符串形式拼接成的一个以逗号分隔的字符串

var arr = [1,2,3,4,5];
arr.toString();//"1,2,3,4,5"

3、valueOf()
返回数组对象本身

var arr = [1,2,3,4,5];
arr.valueOf();//[1,2,3,4,5]

4、join()
将数组中所有元素组成字符串,并可以规定分隔符,默认以逗号分隔

var arr = [1,2,3,4,5];
arr.join("-");//"1-2-3-4-5"

5、push()
在数组的尾部插入元素,会改变原数组

var arr = [1,2,3,4,5];
arr.push(6);
console.log(arr);//[1,2,3,4,5,6]

6、pop()
在数组的尾部删除一个元素,会改变原数组

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

7、unshift()
在数组的首部插入一个元素,会改变原数组

var arr = [1,2,3,4,5];
arr.unshift(6);
console.log(arr);//[6,1,2,3,4,5]

8、shift()
在数组的首部删除一个元素,会改变原数组

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

9、reverse()
反转数组的顺序,返回经过排序之后的数组,原数组发生改变

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

10、sort()
按字符串升序排列数组,sort方法会调用每个数组项的toString()方法,比较得到字符串的排序,返回经过排序之后的数组,原数组发生改变

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

tips:可以使用sort()方法创建一个随机数组

function compare(){
    return 0.5-Math.random();
}
var array = [1,2,3,4,5];
console.log(array.sort(compare));//[2,1,5,4,3]

11、concat()
基于当前数组所有项创建一个副本,没有参数时相当于浅拷贝,接收参数时将参数添加到副本的末尾。不影响原数组

var arr = [1,2,3,4,5];
var res = arr.concat(6,7);
console.log(res);//[1,2,3,4,5,6,7]

12、slice()
基于当前数组创建一个新数组,接收两个参数:返回项的起始位置和结束位置。不影响原数组

var arr = [1,2,3,4,5];
var res = arr.slice(1,3);
console.log(res);//[2,3]
console.log(arr);//[1,2,3,4,5]

13、splice()
删除原数组的一部分成员,会改变原数组

//1、第一个参数指定删除的起始位置
var arr = [1,2,3,4,5];
console.log(arr.splice(3));//[4,5]
console.log(arr);//[1,2,3]

//2、第二个参数表示删除元素的个数,如果省略第二个参数,则表示从起始位置到数组结尾
var arr = [1,2,3,4,5];
console.log(arr.splice(3,1));//[4]
console.log(arr);//[1,2,3,5]

//3、如果后面有更多参数,表示从起始位置开始插入这些新元素
var arr = [1,2,3,4,5];
console.log(arr.splice(3,1,6,7));//[4]
console.log(arr);//[1,2,3,6,7,5]

14、indexOf(search,start)
返回以start为起始位置,首次出现search的位置,没有找到返回-1

var arr = [1,2,3,4,5];
console.log(arr.indexOf(3,3));//-1
console.log(arr.indexOf(5,3));//4

15、reduce()

  • reduce()方法需要两个参数,一是执行操作的函数,二是传递给函数的初始值(可选),reduce()会依次处理每个元素
  • 执行操作的函数接收四个参数
    • 初始变量,默认为数组的第一个元素值,第一次执行后的返回值作为函数第二次执行的初始变量
    • 当前变量
    • 当前变量对应的元素在数组中的索引(可选)
    • 原数组对象(可选)
//求和
var arr = [1,2,3,4,5];
var sum = arr.reduce((prev,cur)=>{
	return prev+cur
	},0);
console.log(sum);//15

可以利用reduce()方法实现二维数组的扁平化

var matrix = [[1,2],[3,4],[5,6]];
var arr = matrix.reduce((prev,cur)=>{
	return prev.concat(cur);
})
console.log(arr);//[1,2,3,4,5,6]

16、map()
map()方法对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

var arr = [1,2,3];
var res = arr.map((item,index)=>{
	return item*item;
})
console.log(res);//[1,4,9]

17、forEach()
遍历数组

var arr = [1,2,3];
arr.forEach(item => {
	console.log(item);
})

18、filter()
用于查询符合条件的所有数组项;对数组中的每一项运行给定函数,返回true的项组成的数组

var arr = [1,2,3,4,5];
var res = arr.filter(item => {
	return item>3;
})
console.log(res);//[4,5]

19、数组去重

var arr = [1,2,3,4,5,4,3];
var res = Array.from(new Set(arr));
console.log(res);//[1,2,3,4,5]

推荐文章:https://www.cnblogs.com/xiaohuochai/p/5682621.html

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值