Array.map()
对数组中的每个元素进行重新编辑,返回用编辑结果组成的新数组,传递的参数和forEach()一样 let
arr = [1,2,3]
> let a = arr.map((item)=>{ return item+5 }) console.log(a) // 结果
> [6,7,8]
Array.filter()
可以对数组进行过滤,返回过滤结果组成的数组,传递的参数和forEach()一样
let arr = [1,2,3]
let a = arr.filter(item=>{
return item>2 }) console.log(a) //结果 [3]
Array.every()
用于检测数组中的每个元素是否符合某一条件,若全部符合返回true,否则返回false,传递的参数和forEach()一样
let arr = [1,2,3] let a = arr.every(item=>{
return item>2 })
console.log(a) //结果 false 1,2不大于2
let b = arr.every(item=>{
return item<4 })
console.log(b) //结果 true 都小于4
Array.some()
用于检测数组中是否有元素符合某一条件,若有返回true,否则返回false,传递的参数和forEach()一样
let arr = [1,2,3] let a = arr.some(item=>{
return item>2 })
console.log(a) //结果 true 3大于2
let b = arr.some(item=>{
return item>4 })
console.log(b) //结果 false 没有元素大于4
Array.reduce()
通过计算将数组计算为1个值,只执行arr.length-1次
arr.reduce(function(a,b,c,d)),
参数:
a——初始值为数组第一个值,之后会赋值为每次循环的返回值
b——初始值为数组第二个值,之后为第三个,直到最后一个
c——b的下标
d——原数组
let arr = [1,2,3]
console.log(arr.reduce(function(a,b,c,d){
return a+b })) //结果 6
Array.reduceRight()
- 将数组元素计算为一个值,和reduce()一样,只是循环方向相反从最后一个元素开始
Array.sort()
不传参默认按照UniCode码排序,也可以传参指定排序方法,arr.sort(fn(second,fitst)),该方法会改变原数组
let arr = [2,1,3] console.log(arr.sort((a,b)=>{
return a-b }))
//升序排列
console.log(arr.sort((a,b)=>{
return b-a }))
//降序排列
let arr1 = [
{name:‘张三’,age:19},
{name:‘李四’,age:17},
{name:‘王五’,age:20} ]
console.log(arr1.sort((a,b)=>{
return a.age-b.age }))
/*结果为
[
{name:‘李四’,age:17},
{name:‘张三’,age:19},
{name:‘王五’,age:20}
]
*/