arguments
arguments 类数组 存放所有的实参
类数组 具有索引值,但是不能使用数组下的api(push,pop,splice…)
filter 过滤
过滤
filter() 作用:过滤数组中元素,返回新数组存放过滤元素
参数 回调函数
回参一item 数组元素
回参二index 索引值
var res = arr.filter(function(item,index){
—> 是可以先修改元素,后筛选的
item arr 数组中元素 index 索引值
console.log(item,index);
return 后面跟 条件表达式
res 接受满足条件的所有元素;并存放在数组中
return item.age>32
})
foreach
forEach()作用:遍历数组
回参一:数组元素
回参二:索引值
arr.forEach(function(item,index){})
map
1.遍历数组 返回新数组
新数组中内容就是return 返回的内容
与过滤区别,过滤是根据条件筛选,返回条件表达返回值
item 数组元素 index 是索引
newArr 存放return返回的内容
var newArr = arr.map(function(item,index){
return item
})
2.修改数据,重组数据,原来的arr没变化
var res = arr1.map(function(item){
item = item * 2;
return item;
})
reduce
reduce() 没有初始值
可以用reduce 实现累加等运算,并返回运算结果
var arr = [1,2,3,5]
var res = arr.reduce(function(accumulator,currentValue,currentIndex,sourcArray)
{
accumulator 记录累计运算结果
accumulator 数组索引的元,这个元素是运算的操作数
currentIndex 索引值,不是从0开始的
sourArray 原数组
console.log(accumulator,currentIndex,currentValue,sourcArray);
return accumulator+currentValue;
})
注意 回参一 初始值为number类型 默认赋值 oders[0]
reduce(fun,param) 参二作用:给回参一sum赋初始值 改变默认orders[0]
var res = orders.reduce(function(sum,item){})
some
some() 检查数组中是否存在满足条件的元素,满足返回true;不满足 返回false
var res = produce.some(function(item){})
数组求最大值&最小值
求最大值 方式一
var max = arr[0];
for(var i=0;i<arr.length;i++){
var max = arr[0] // bug 永远都是初始化–> 导致第一个数于最后一个数组比较大小
max = Math.max(max,arr[i])
}
console.log(max);
求最大值 方法二
var max = arr.reduce(function(pre,next){
return Math.max(pre,next);
});
console.log(max);
方法三:利用排序
sort() 排序 参数 函数
arr1.sort(function(a,b){
a-b 升序 b-a 降序
注意 number类型排序,如果是字符串,更具第一个字符的编码值大小进行排序
return a-b
})
var max = arr1[arr.length-1]
console.log(arr1);
es6 很巧
var arr2 = [10,101,56,2,4,6,7,1];
var max1 = Math.max(…arr2);
console.log(max1);
数组排序
选值排序 将定某个位置是最大值
用将定的最大值 与其他元素比较
在比较过程中进行,如果存在与比最大值还大的数,就进行换值处理
以此类推,做到大值在前 小值在后 实现降序效果
for(var i = 0;i<arr.length;i++){
arr[i] // 用arr[i] 与数组中所有的元素
for(var j =0;j<arr.length;j++){
if(arr[i] > arr[j]){
大值在前,小值灾后
问题:arr[i] 前 arr[j] 后
—> 换值处理
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp
}
}
}
console.log(arr);
本文详细介绍了JavaScript中数组的filter、forEach、map、reduce、some等方法的使用,包括如何过滤元素、遍历数组、转换数据以及进行累加运算。同时,提供了求最大值的不同方法,并探讨了数组排序的实现。通过对这些基础方法的理解和实践,可以提升JavaScript编程能力。

被折叠的 条评论
为什么被折叠?



