使用JavaScript中的第一个字符串字母进行数组过滤

假设我们有一个包含某些人的姓名的数组,如下所示:

const arr = ['Amy','Dolly','Jason','Madison','Patricia'];

我们需要编写一个JavaScript函数,该函数使用一个字符串作为第一个参数,并将两个小写字母字符作为第二个和第三个参数。然后,我们的函数应该对数组进行过滤,以仅包含以第二个和第三个参数指定的范围内的字母开头的那些元素。

因此,如果第二个和第三个参数分别为'a'和'j',则输出应为-

const output = ['Amy','Dolly','Jason'];

示例

让我们写代码-

const arr = ['Amy','Dolly','Jason','Madison','Patricia'];
const filterByAlphaRange = (arr = [], start = 'a', end = 'z') => {
   const isGreater = (c1, c2) => c1 >= c2;
   const isSmaller = (c1, c2) => c1 <= c2;
   const filtered = arr.filter(el => {
      const [firstChar] = el.toLowerCase();
      return isGreater(firstChar, start) && isSmaller(firstChar, end);
   });
   return filtered;
};
console.log(filterByAlphaRange(arr, 'a', 'j'));

输出结果

控制台中的输出将是-

[ 'Amy', 'Dolly', 'Jason' ]