js选出给定数组中所有的偶数/奇数/n的倍数(filter)

js选出给定数组中所有的偶数/奇数/n的倍数(filter)

1.选出给定数组中所有的偶数

用for

function collect_all_even(collection) {
    
    
  let res = [];
  for (let i of collection) {
    
    
    if (i % 2 === 0) {
    
    
      res.push(i);
    }
  }
  return res;
}

用filter

function collect_all_even(collection) {
    
    
  return collection.filter((x) => x % 2 === 0);
}

2.选出给定数组间中所有的奇数

将上面代码中的条件修改为 x % 2 === 1即可

3.选出给定数组间中n的倍数

将上面代码中的条件修改为 x % n === 0即可

filter() 方法

filter() 方法创建一个新数组, 其包含通 过所提供函数实现的测试的所有元素。
语法

var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])

callback
用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数
1. element 元素的值
2. index可选元素的索引
3. array可选被遍历的数组本身
thisArg可选
执行 callback 时,用于 this 的值。
返回值
一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。

filter 不会改变原数组,它返回过滤后的新数组

猜你喜欢

转载自blog.csdn.net/jojo1001/article/details/121355074