JavaScript 中的数组过滤

Jagathish 2023年10月12日
  1. 在 JavaScript 中使用 isEven() 函数
  2. 在 JavaScript 中使用 isPalindrome() 函数
JavaScript 中的数组过滤

JavaScript 中的 filter() 方法返回一个新数组,其中包含通过指定函数测试的所有元素。这篇文章将讨论如何获取匹配特定条件的数组元素。

在 JavaScript 中使用 isEven() 函数

我们在一个数组中有数字,我们需要选择所有的偶数元素。

例子:

// checks if a value is even
function isEven(e) {
  return e % 2 === 0;
}
let arr = [2, 3, 4, 5, 6, 7];

// filters only even numbers
let evenNumbers = arr.filter(isEven);
console.log(evenNumbers);  // [2,4,6]

输出:

input : [2,3,4,5,6,7]
output : [2,4,6]

在上面的代码中:

  • 创建了一个函数 isEven,它将接受一个参数。如果参数是数,此函数返回 true。否则,将返回 false
  • 创建一个数组 arr,并以 isEven 函数作为参数调用 arrfilter 方法。
  • filter 方法将遍历所有数组元素并为每个数组元素执行 isEven 方法。filter 方法将选择 isEven 方法返回 2,4,6 值的所有元素。

在 JavaScript 中使用 isPalindrome() 函数

我们有一个字符串数组,我们需要选择所有回文字符串(一个向后读和向前读相同的字符串,例如,momdadmadam)。

例子:

// checks if a string is palindrome
function isPalindrome(str) {
  // split each character of the string to an array and reverse the array and
  // join all the characters in the array.
  let reversedStr = str.split('').reverse().join('');
  return str === reversedStr;
}
let arr = ['dad', 'god', 'love', 'mom']

    // filters only palindrome string
    let palindromeArr = arr.filter(isPalindrome);
console.log(palindromeArr);  // ['dad', 'mom']

输出:

input : ['dad', 'god', 'love', 'mom']
output : ['dad', 'mom']

在上面的代码中:

  • 创建了一个函数 isPalindrome,它将采用一个字符串参数。如果参数是回文,此函数返回 true。否则,将返回 false
  • 创建一个数组 arr,并以 isPalindrome 函数作为参数调用 arrfilter 方法。
  • filter 方法将遍历所有数组元素并为每个数组元素执行 isPalindrome 方法。filter 方法将选择 isPalindrome 方法返回值'dad''mom' 的所有元素。

相关文章 - JavaScript Array