map
<body>
<script>
let arr = [3,4,5,6,7];
//(元素,下标) => {return 新元素}
let arr3 = arr.map((value,index) => {
return value + 2;
})
console.log(arr3);//5,6,7,8,9 让每一个元素加2
let arr4 = arr.map((value,index) => {
return value * 2;
})
console.log(arr4);//6,8,10,12,14 让每一个元素 * 2
</script>
</body>
filter
<body>
<script>
let arr = [1,2,22,44,66,88,110]
let nArr = arr.filter(function(value){
//筛选条件 大于10的
return value > 10
})
console.log(nArr);
let mArr = arr.filter(function(value){
// 数组中的偶数
return value % 2 == 0;
})
console.log(mArr);
</script>
</body>
forEach
<body>
<script>
//forEach应用场景:用于遍历数组,相当于for循环另一种写法。
//语法:数组.forEach(function(value,index,arr){/算法})
//forEach必须提供一个参数 value:每次遍历到的数组元素
//index:每次遍历到的数组的下标 arr:数组 forEach
let arr=[33,342,342,883,90,108,260];
//现在的写法
let sum = 0
arr.forEach(function (value){
sum += value
})
console.log(sum);//2058
</script>
</body>
some
every
findIndex
<body>
<script>
//forEach应用场景:用于遍历数组,相当于for循环另一种写法。
//语法:数组.forEach(function(value,index,arr){/算法})
//forEach必须提供一个参数 value:每次遍历到的数组元素
//index:每次遍历到的数组的下标 arr:数组 forEach
let arr=[33,342,342,883,90,108,260];
//现在的写法
let sum = 0
arr.forEach(function (value){
sum += value
})
console.log(sum);//2058
//1.some应用场景:用于判断数组中是否存在满足条件的元素
//2.注意点:
//a.回调函数执行次数!=数组长度
//(1)需求:判断数组中有没有负数
let arr1 = arr.some((item,index) =>{
return item < 0
})
console.log(arr1);//false
//every,应用场景:用于判断数组中是否所有元素都满足条件。
//every函数返回一个布尔类型值
//需求:判断数组中没有负数
let arr2 = arr.every((item) =>{
return item > 0;
});
console.log(arr1);//false
//arr.findIndex((item,index)=>{return true./false})
//应用场景:适合于数组中元素为对象·类型,比传统for循环要高效。
let arr5 = [
{name:'张三',age:20},
{name:'李四',age:30},
{name:'王五',age:25},
{name:'赵六',age:33},
{name:'小七',age:10},
]
//数组findIndex方法:获取符合条件的第一个元素位置(下标)
//需求:查找arr1中第一个未成年在什么位置
let res = arr5.findIndex((item,index)=>{
return item.age < 18;
})
console.log(res);//4
let res1 = arr.reduce((sum,value) =>{
return sum + value;
})
console.log(res1);
</script>
</body>