1.map:
- 格式:数组.map(function(item,index){});
- map传入的参数为一个函数
- 第一个参数:数组的元素
- 第二个参数:数组元素的下标
- 返回值:新的数组。
- 与forEach的区别:forEach没有返回值;
//声明一个数组
let arr = [1, 3, 5, 6];
//item为数组的元素,index为数组的下标
let res = arr.map(function (item, index) {
// 让数组元素+10
return item + 10;
})
console.log(res);//结果为[11, 13, 15, 16]
let res = arr.map(item => item + 10);
// forEach没有返回值;
let res = arr.forEach(function (item, index) {
return item + 10;
})
console.log(res);//结果为undefined
2.filter
- 遍历数组,过滤出一个符合条件的新数组。
- 传入的函数会被数组中的每一个元素都会执行一次
- 第一个参数为 元素
- 第二个参数为 元素的索引
- 返回值如果为true 表示条件符合。反之,不符合
- 不会修改原数组
// ------------filter------------
let arr = [1, 3, 5, 6];
//遍历出数组中item元素中大于4的元素,返回一个大于4的新宿组
let res = arr.filter((item, index) => { return item > 4 })
console.log(res);
3.every
- 遍历数组:判断所有的严肃是否都满足条件,如果都满足,返回true,只要有一个不满足,结果就是false
//-----------every-----------
let arr = [1, 3, 5, 6];
//判断item中的数组都大于0如果都大于则返沪true
let res = arr.every((item) => item > 0)
console.log(res);//结果返回true
//判断item数组中每一个数是否都大于2,如果其中有一个不大于,那么就返回false
let res = arr.every((item) => item > 2)
console.log(res);//结果返回false
4.some
- 遍历数组,判断所有的元素是否有一个满足条件,如果有一个满足条件,返回true,只要都不满足,结果就返回false
// -----------some-----------
let arr = [1, 3, 5, 6];
// 判断item中的数组是否满足>8只要有一个满足就返回true,此时都不满足
let res = arr.some((item) => item > 8);
console.log(res);//结果为false
// 判断item中的数组是否满足>3只要有一个满足就返回true,此时都满足
let res = arr.some((item) => item > 3);
console.log(res);//结果为true
5.Array.form
- 可以将伪数组变成数组。
// -----------Array.form-----------
// 将一个伪数组转为数组
function fn() {
console.log(arguments);
let arr = Array.from(arguments);
console.log(arr);
}
fn(1,2,3)
6.Array.of()
- 将一组值转为数组,类似于声明数组。 可以用来解决new Array只有一个参数时的问题。
7.includes
- 判断数组中是否包含某一个值。
// -----------includes-----------
let arr = [1, 2, 5, 6];
// 数组中有没有2
let flag = false
for (var i = 0; i < arr.length; i++) {
//遍历数组
if (arr[i] == 2) {
flag = true;
// 等于2的话就结束
break;
}
}
if (flag) {
console.log("包含");
}else{
console.log("不包含");
}
// 第二种
// indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
if (arr.indexOf(3) != -1) {
console.log("包含");
} else {
console.log("不包含");
}
// 第三种方法
if (arr.includes(2)) {
console.log("包含");
}else{
console.log("不包含");
}
8.find
- 找到数组中第一个符合条件的元素
- 与filter的区别:fliter返回的是数组。find返回的是元素。filter返回的是所有符合条件的元素,find返回的是第一符合条件的
// -----------find-----------
let arr = [1, 5, 3, 6, 7]
//判断数组中item>3的数组 返回的是元素,不是整个数组大于3的元素
let res = arr.find((item) => item > 3)
console.log(res);//结果为5
9.findIndex
- 找到数组中第一个符合条件的元素的索引。
// -----------findIndex-----------
let arr = [1, 5, 3, 6, 7]
//判断数组中的item元素是否有大于5的 ,如果有则返回的是数组元素中的索引。
let res = arr.findIndex((item) => item > 5)
console.log(res);//结果为3(6)