map
格式:数组.map(function(item,index){})
-
map传入的参数为一个函数
-
第一个参数: 数组的元素
-
第二个参数:数组元素的下标
-
返回值:新的数组
-
与foreach的区别:foreach没有返回值
示例
let arr = [1,3,5,7];
let newArr = arr.map(function(item,index){
return item+10;
})
console.log(newArr);
// ---------简写----------
let newArr = arr.map(item=>item+10);
console.log(newArr);
filter
-
遍历数组,过滤出一个符合条件的新数组
-
传入的函数会被数组中每一个元素执行一次
第一个参数为 元素 第二个参数为 元素的索引 返回值如果为true 表示条件符合 反之 不符合 不会修改元数组
示例
//--------filter--------
arr = [1,3,5,7]
let newArr = arr.filter((item,index)=>{return item>4})
console.log(newArr);
every
- 遍历数组,判断所有的元素是否都满足条件。如果都满足,返回true,只要一个不满足,结果就为false
//---------every------------
let = [7,5,3,1]
let res = arr.every((item)=>item>0);
console.log(res);
some
- 遍历数组 判断所有的元素是否有一个满足条件。如果有一个满足返回true,只要都不满足,结果就是false。
//-----------some-----------
let res = arr.some((item)=>item>8);
console.log(res);
Array.form
-
可以将伪数组变成数组
Array.of() -
将一组值转为数组,类似于声明数组。可以用来解决new Array只有一个参数时的问题
//--------Array.form-----------
function fn(){
console.log(arguments);
let arr = Array.from(arguments);
console.log(arr);
}
fn(1,2,3);
let arr = new Array(5);
let arr = Array.of(5);
console.log(arr);
includes
- 判断数组中是否包含某一个值
//--------includes------------
let arr = [1, 3, 5, 7, 2];
数组中有没有2
var flag = false;
for(var i = 0; i <arr.length;i++){
if(arr[i]==2){
flag = true;
break;
}
}
if(flag){
console.log("包含");
}else{
console.log("不包含");
}
//----------indexOf() 如果小括号里面对比都不为-1 则为真-----------
if (arr.indexOf(2) != -1) {
console.log("包含");
} else {
console.log("不包含");
}
if (arr.includes(2)) {
console.log("包含");
} else {
console.log("不包含");
}
find
-
找到数组中第一个符合条件的元素
-
与filter的区别:filter返回的是数组,find返回的是元素。 filter返回的是所有符合条件的,find返回的是
-
第一个符合条件的。
//-------find-----
let arr = [1,3,5,7]
let res = arr.find(item=>item>4);
console.log(res); //返回成立的第一个数值
findIndex
- 找到数组中第一个符合条件的元素的索引。
//--------findIndex--------
let arr = [1,3,5,7]
let res = arr.findIndex(item=>item>4);
console.log(res); //返回成立的第一个下标