如何在JavaScript字符串数组中筛选名字或姓氏以C开头的元素
问题修复:筛选姓名首字母符合条件的元素
你现有代码的问题
- 第一个判断
element.startsWith("C")(匹配名字以C开头的元素)的console.log被注释,导致这部分符合条件的内容无法输出 - 第二个判断逻辑完全错误:
element.charAt(element.charAt(-1))是无效写法——JavaScript中charAt(-1)会返回空字符串,后续操作根本无法正确判断姓氏的首字母是否为C
正确的实现代码
我们可以把每个姓名拆成名字和姓氏两部分,分别检查首字母是否符合要求:
const arrayOfString = ["Ajay Choudhary", "Charlli Chouhan", "Kerri Cilce", "Dalis Menary"]; arrayOfString.forEach(element => { // 按空格拆分姓名为名字和姓氏 const [firstName, lastName] = element.split(' '); // 满足名字以C开头 或 姓氏以C开头 就输出 if (firstName.startsWith('C') || lastName.startsWith('C')) { console.log(element); } });
代码说明
split(' ')把姓名字符串按空格拆成数组,通过解构赋值拿到firstName(名字)和lastName(姓氏)startsWith('C')用来检查字符串是否以指定字符开头,只要名字或姓氏有一个符合条件就打印该元素- 运行后会得到你想要的输出:
Ajay Choudhary Charlli Chouhan Kerri Cilce
内容的提问来源于stack exchange,提问作者uJadhav
相关产品推荐
相关产品推荐

