You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用TypeScript从对象数组中过滤掉以字母P开头的名字?

解决TypeScript过滤掉name以P开头元素的问题

先明确你代码里的几个错误:

  • 函数参数命名是nameWithOutC,但返回语句里误用了未定义的nameWithOutP,变量名不匹配
  • 错误访问了不存在的book属性,应该操作对象的name属性
  • 判断逻辑错误:仅判断是否等于'P'无法覆盖首字母为P的情况,且需要保留不以P开头的元素

正确实现代码

const names = [
    {name:'Finn',age: 23},
    {name:'Presten',age: 24},
    {name:'Pearl',age: 21},
    {name:'Tim',age: 22},
    {name:'Jade',age: 25},
    {name:'Princess',age: 23},
] 
const filterName = names.filter((item: {name: string, age: number}): boolean => {
    // 过滤掉name以P开头的元素,保留其余项
    return !item.name.startsWith('P');
})

console.log('Filtering out a name starting with letter P')
console.log(filterName)

代码说明

  • 用startsWith('P')直接判断字符串首字符,比手动截取首字符更简洁可靠
  • 加!取反,确保只保留不以P开头的元素
  • 如果需要忽略大小写(同时过滤小写p开头的元素),可以修改为:
    return !item.name.toLowerCase().startsWith('p');
    

内容的提问来源于stack exchange,提问作者honey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 14:15:40