map 遍历数组每一个元素并调用回调,并返回一个包含所有结果的数组。
函数声明如下:
<script>
let arr=[10,25,58,-1,5,8]
//(1)需求:数组中每个元素+1
let arr1= arr.map((value)=>{
return value + 1//让每个元素的值+1
})
console.log(arr1);//[11,26,59,0,6,9]
</script>
</html>
效果图:
filter(); 过滤器
filter()方法会返回一个新的数组,新的数组中的元素是通过检查后符合条件的元素
<script>
let arr=[66,5,96,25,84,0,5,4]
//需求:求数组中大于5的所有元素
let result =[];
for(let i=0;i<arr.length;i++){
if(arr[i]>5)
result.push(arr[i])
}
console.log(result);
let nrr=arr.filter(function(value){
return value>5
})
console.log(nrr);
let str=arr.filter(function(value){//过滤筛选,根据条件返回符合条件的值
return value %2===0//求数组中为偶数的元素
})
console.log(str);//保存的是所有满足条件的元素
</script>
</body>
效果图:
.forEach()
遍历数组,把遍历出来的每一项交给回调函数.
没有返回值
<script>
//forEach应用场景:用于遍历数组,相当于for循环另一种写法
let arr=[125,65,58,84,5,64]
// let sum=0;
// for(let i=0;i<arr.length;i++){
// sum+=arr[1]
//}
let sum=0//对数组进行累加
arr.forEach(function(value) {
sum += value
});
console.log(sum);
</script>
</body>
</html>
效果图:
some 当内部return true;遍历结束,且some函数值为true。 return false;遍历继续,且some函数返回值为true
<script>
//1.some应用场景:用于判断数组中是否存在满足条件的元素
let arr =[55,6,96,22,48,93,74]
let arr1=arr.some((item,index)=>{
return item<0
});
console.log(arr1);//true
</script>
</html>
效果图:
every应用场景:用于判断数组中是否所有元素都满足条件。
<script>
//every函数返回一个布尔类型值
//需求:判断数组中没有负数
let arr=[64,19,53,84,75,825,-55]
let arr1=arr.every((item)=>{
return item>0;
})
console.log(arr1);
</script>
</body>
</html>
Findindex.:获取符合条件的第一个元素位置(下标)。 返回值:符合则返回元素下标,不符合则返回-1。
<script>
let arr=[
{name:'张三',age:20},
{name:'赵四',age:28},
{name:'王五',age:66},
{name:'小明',age:84},
{name:'小红',age:12},
]
//数组findIndex方法:获取符合条件的第一个元素位置(下标)
//需求:查找arr1中第一个未成年在什么位置
let res=arr.findIndex((item,index)=>{
return item.age<18;
})
console.log(res);
</script>
</body>
</html>
效果图:
reduce方法::遍历数组元素,为每个数组执行一次回调函数
<script>
let arr=[10,20,30,40,50,60];
//sum:初始值,默认为数组第一个元素。
//value:数组的每一个元素,默认为数组的第二个元素
let res1=arr.reduce((sum,value)=>{
return sum + value;
})
console.log(res1);//100
</script>
</body>
</html>
效果图: