数组的常用方法总结
上篇文章介绍了数组的定义方法,这篇来总结一下数组的常用API1. indexOf 查找某个元素在数组中出现的位置(第一个)
语法: arr.indexOf(元素,[开始查找的起始下标]);
//找不到返回-1
var arr = [1,2,3,4,5,6];
var res = arr.indexOf(3);
var res1 = arr.indexOf(7);
console.log(res) 打印结果:2 // 3对应的下标为2
console.log(res1) 打印结果:-1 // 没找到
2. forEach 遍历数组
语法: arr.forEach(function(数组的每一项, 对应下标, 当前数组){
// 代码段
});
var arr= [1,2,3,4,5,6];
arr.forEach(function(value,index,brr){
console.log(value + "--" + index);
console.log(brr);
});
打印结果:
3. map 将数组中的每个元素都让一个函数去处理,将处理后的每一个新元素组成一个新数组
并返回
语法:arr.map(function(v){
// 对v进行处理并返回处理后的每个v组成的数组
});
var arr = [10,20,30,40];
var arr1 = arr.map(function(value){
return value + value * 0.3
});
console.log(arr1); 打印结果:[13, 26, 39, 52] //返回新数组
4. filter 过滤数组元素,让满足条件的所有元素组成一个新数
组并返回
语法: arr.filter(function(数组的每一项, 对应下标, 当前数组){
// 筛选条件
});
var arr = [10,20,30,40];
var arr1 = arr.filter(function(value){return value>20;
});
console.log(arr1); 打印结果:[30, 40] //返回新数组
5. reduce 归并
其中调用回掉函数,回掉函数中有两个参数,第一个参数是上一次操作的返回值,
第二个参数是从第二个元素开始到最后一个元素
语法: arr.reduce(function(prev,next){
// 逻辑代码
});
var arr = [10,20,30,40];
var res = arr.reduce(function(prev,next){
document.write("prev----------next<br>");
document.write(prev + "----------" + next + "<br>");
return prev + next;
});
console.log(res); 打印结果: 100 //总和
6. some 方法先遍历数组,如果至少有一个元素满足条件,则返回true,否则返回false。
语法: arr.some(function(数组的每一项,对应下标){
// 逻辑代码
});
var arr = [1,2,3,4,5,6];
var res = arr.some(function(item,index){
if(item>5){
return true;
}else{
return false;
}
});
console.log(res); 打印结果:true //有一个条件满足
再例如:
var i = 0;
[1,2,3].some(function(item,idx){
i = idx;
return item == 5;
})
console.log(i); 打印结果:2 //遍历完了还没找到5,输出最后一个值的下标(3的下标2)
7. every 方法先遍历数组,判断所有元素是否满足条件,返回布尔值
语法: arr.every(function(数组的每一项,对应下标){
// 逻辑代码
});
var arr = [2,3,4,5,6];
var res = arr.every(function(item){
return item>1;
});
console.log(res); 打印结果:true // 所有条件都满足
8. find 方法返回数组中满足条件的第一个值,找不到元素则返回false,找到了就返回这个值
语法: arr.find(function(数组的每一项,对应下标,此数组){
// 逻辑代码
});
var arr = [2,4,6,10,15,21];
var f = arr.find(function(element, index, array){
return element > 10;
});
console.log(res); 打印结果:console.log(f); 15 // 找到了,返回满足条件的第一个值
9. findIndex 方法返回数组中满足条件的第一个值的下标,找不到元素则返回1
语法: arr.findIndex(function(数组的每一项,对应下标,此数组){
// 逻辑代码
});
var arr = [2,4,6,10,15,21];
var f = arr.findIndex(function(element, index, array){
return element > 10;
});
console.log(res); 打印结果:console.log(f); 4 //找到了,返回满足条件的第一个的下标
10. of 将一组值转换成数组,类似于声明数组
语法: Array.of(要转换的值);
let str = 'shuzu'
console.log(Array.of(str)) 打印结果: ['11']
等价于
console.log(new Array('shuzu')) 打印结果: ['shuzu']
// 但是有点区别
console.log(new Array(2)) // [empty × 2] 是个空数组,但是length是2
console.log(Array.of(2)) // [2]
总结
点击查看 其他数组的常用方法:
数组的常用方法改不改变原始数组很关键
push()
pop()
unshift()
shift()
concat()-----💢不改变原始数组
splice()
slice()------💢不改变原始数组
sort()
reverse()
join()-------💢不改变原始数组
温馨提示:本人原创文章,如果存在错误或者表达不当之处,还望及时告知😊