JavaScript常用数组方法,详细1(js中常用的数组方法)

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

1、.reduce()方法

使用:

arr.reduce((prev,cur,index,arr)=>{
    return  prev + cur;
},0/[]/{}) //数组求和

简述:从前往后遍历,这里的0是自定义参数,也可以是数组或对象,也就是第一个参数prev:累计器,第二个参数,cur:遍历项,index:遍历项下标,arr:数组本身(es6新增);补充:.reduceRight()方法和reduce()相反,从后往前遍历,从数组的最后一项开始向前遍历到第一;

2、.map()方法

使用:

arr.map(function(item,index,arr){
	return item*item;
});//数组的每一项乘以自身

简述:返回一个新数组,按照原数组元素顺序依次处理元素,新数组中的值为原数组调用函数处理后的值;item:遍历项,index:遍历项下标,arr:数组本身;

3、.forEach()方法

使用:

let arr2 = [];
arr.forEach((item,index,arr)=>{
	if (item >= 3) {
          arr2.push(item);
        }
});//把大于等于3的数字给数组arr2

简述:对数组进行遍历循环,对数组中的每一项运行给定函数,这个方法没有返回值,参数都是 function 类型;item:遍历项,index:遍历项下标,arr:数组本身;

4、.filter()方法

使用:

let res = arr.filter((item,index,arr) => {
  return item > 3;
});//返回数组arr中所有大于3的元素

简述:过滤数组,给数组中的每一项运行给定函数,返回满足过滤条件组成的数组;item:遍历项,index:遍历项下标,arr:数组本身;

5、.includes() 方法

使用:

arr.includes(5, 3); // 从索引3开始查找5是否存在

简述:用来判断一个数组是否包含一个指定的值,如果是返回 true,否则 false;其中,5是(必填)需要查找的元素值,3是(可选)开始查找元素的位置;

6、.splice 方法(&& 注意和split()的区分,split()是分割,并设置分割符号;)

使用:

// 替换
var nums = [1,2,3]        // 将2换成4
nums.splice(1,1,4)        // 从数组下标1开始,操作1个,替换成4
console.log(nums)         // [1,4,3]
// 删除
nums.splice(1,1)         // 从数组下标1开始,删除1个,不替换
console.log(nums)        // [1,3]

let newarr = arr.splice(2,3)
//splice改变原有数组,newarr等于的是删除的元素

简述:强大的数组方法,可以实现删除,插入和替换;

7、.slice() 方法
使用:

// 1. 正数
var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice(1)
console.log('arr', arr);        // ['A', 'B', 'C', 'D']
console.log('res', res);        // ["B", "C", "D"]
// 2. 负数
var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice(-1)
console.log('arr', arr);        // ['A', 'B', 'C', 'D']
console.log('res', res);        // ["D"]
//有两个参数start、end
//从 start 索引开始提取数组元素,直至 end 索引(包括 start,但不包括 end)
var arr = ['A', 'B', 'C', 'D'];
var res = arr.slice(1, 3)
console.log('arr', arr);        // ["A", "B", "C", "D"]
console.log('res', res);        // ["B", "C"

简述:括号里是负数 : 表示从倒数 start 索引开始提取数组元素;正数 : 从 start 索引开始提取数组元素,直至结束(大于原数组长度,则返回空数组);

8、.indexOf()方法

使用:

arr.indexOf(5,2)//查找内容5,从下标为2的地方开始,返回对应下标

简述:从数组的开头开始向后查找,返回要查找的项在数组中的位置,或者在没找到的情况下返回-1(在比较第一个参数与数组中的每一项时,会使用全等操作符);

补充:.lastIndexOf()方法,相反,从数组的末尾开始向前查找;

9、.find()方法

使用:

arr.find((value, keys, arr) => {
    return value > 2;
}); // 返回匹配的值
arr.findIndex((value, keys, arr) => {
    return value > 2;
}); // 返回匹配位置的索引

简述:.find()方法是返回匹配的值,value: 数组的某个元素,keys: 该元素对应的索引位置,arr: 数组本身;补充:.findIndex()方法,是返回匹配元素索引;

10、.flat()方法

使用:

const arr2 = [0, 1, 2, [[[3, 4]]]];
console.log(arr2.flat(2));
//输出[0, 1, 2, [3, 4]]
//指定要提取嵌套数组层数2层,
const arr3 = [1, 2, , 4, 5];
console.log(arr3.flat());
// 输出[1, 2, 4, 5]
// 扁平化数组空项,如果原数组有空位,flat()方法会跳过空位


[2, 3, 4].flatMap((x) => [x, x * 2])
// 输出[2, 4, 3, 6, 4, 8]
// 相当于 [[2, 4], [3, 6], [4, 8]].flat()

简述:提取嵌套数组的结构深度,默认值为 1/Infinity,然后扁平化数组空项,如果原数组有空位,跳过空位;补充:.flatMap()方法,对原数组的每个成员执行一个函数,然后对返回值组成的数组执行flat()方法;

11、.entries(),.keys()和.values()方法

使用:

for (let [index, elem] of [ a ,  b ].entries()) {  
console.log(index, elem);  
}  
// 0 "a"  
// 1 "b" 
for (let index of [ a ,  b ].keys()) {  
console.log(index);  
}  
// 0  
// 1  
for (let elem of [ a ,  b ].values()) {  
console.log(elem);  
}  
//  a   
//  b   

简述返回一个遍历器对象,可以用for...of循环进行遍历;

  .entries()是对键值对(键名和键值)的遍历;

  .keys()是对键名的遍历;

  .values()是对键值的遍历

还有很多数组方法,这次先到这,记得点赞收藏呀(●'◡'●)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北城笑笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值