js里面对数组的一些独特/特殊函数

数组.foreach(函数)

这个函数里面默认的参数就是数组里面的每一个元素
注意:这里面函数不需要返回参数

var arr1 = [1,2,3,4,5,6,7]
arr1.foreach(function(item){
  console.log(item)
})

得到
1
2
3
4
5
6
7

新数组 = 数组.filter(函数)

本质上是foreach的进阶版,在函数中对每一个item进行判定是否需要,如果返回true则会到新数组中去

var arr1 = [1,2,3,4,5,6,7]
var arr2 = arr1.filter(function(item){
  if(item == 1 || item == 2){
    return true
  }else{
    return false
  }
})
console.log(arr2)

得到
[1,2]

单个变量 = 数组.find(函数)

本质上是filter的单个,
得到了第一个返回true的值就直接暂定遍历直接赋值给单个变量

var arr1 = [1,2,3,4,5,6,7]
var temp = arr1.filter(function(item){
  if(item == 1 || item == 2){
    return true
  }else{
    return false
  }
})
console.log(temp )

得到
1

布尔值 = arr1.some(函数)

本质上就是find的简单版本,find得到值,some是需要判定是否含有这个数

var arr1 = [1,2,3,4,5,6,7]
var isclude_1and2 = arr1.filter(function(item){
  if(item == 1 || item == 2){
    return true
  }else{
    return false
  }
})
console.log(isclude_1and2 )

得到
true

lamb语法

var a = () => true
a是一个什么东西?
其实是一个函数

item => item +item + 1

function(item){
  return item +item + 1 
}

是一个意思

一般什么时候用lamba语法

定义一个函数体只有return ~~ 的函数可以使用lamba语法,但凡需要打印什么的都用不了find

三元运算符

int a = 10;
int b = 20;
int max = (a > b) ? a : b; // 如果a大于b,max等于a,否则等于b
console.log(max);

得到
20

filter 加 lamba

var arr1 = [1,2,3,4,5,6,7]
var arr2 = arr1.filter(item => item == 1 || item == 2)
console.log(arr2)

得到
[1,2]

find 加 lamba

var arr1 = [1,2,3,4,5,6,7]
var temp = arr1.find(item => item => item == 1 || item == 2)
console.log(temp)

得到
1

posted @ 2024-12-28 19:35  Coder-Wang  阅读(8)  评论(0)    收藏  举报