在JavaScript中过滤以字母开头的列表元素

San*_*r B 4 javascript arrays

我正在尝试将以'N'开头的列表元素整理到新列表中。为什么不起作用?

const countries = ['Norway', 'Sweden',  'Denmark', 'New Zealand'];

function firstN(){
  for (let i=0;i<countries.length;i++){
    countries[i].startsWith("N")
    }
}

let startsWithN = countries.filter(firstN())
Run Code Online (Sandbox Code Playgroud)

use*_*559 10

这与@adeneo的答案大致相同,只是有点简短:

const countries = ['Norway', 'Sweden',  'Denmark', 'New Zealand'];

const startsWithN = countries.filter((country) => country.startsWith("N"));

console.log(startsWithN);

// Output: [ 'Norway', 'New Zealand' ]
Run Code Online (Sandbox Code Playgroud)


ade*_*neo 5

您可以根据条件、命名函数返回truefalse基于该条件进行过滤

const countries = ['Norway', 'Sweden', 'Denmark', 'New Zealand'];

function firstN(item) {
  return item.toLowerCase().indexOf('n') === 0;
}

let startsWithN = countries.filter(firstN);

console.log(startsWithN)
Run Code Online (Sandbox Code Playgroud)