javascript - 使用 .filter() 查找带有“a”的名称
问题描述
所以我想弄清楚如何从我的对象中获取所有带有字母“a”的名称。我能够弄清楚如何从我的 .people 对象中找到以字母“a”开头的名称,如下面的示例所示。但我希望能够在名称中的任何位置获取所有带有字母“a”的名称,而不仅仅是在特定的索引位置。谢谢!(如果可能,首选箭头语法)
const people = [
{
Name: 'Ryan',
Age: 27
},
{
Name: 'Alie',
Age: 27
},
{
Name: 'Lincoln',
Age: 4
},
{
Name: 'Luke',
Age: 2
},
]
const StartsWith = people.filter( letter => letter.Name[0] === 'A' );
console.log(StartsWith)
解决方案
只需使用一个简单的不区分大小写的正则表达式:
const withA = people.filter(p => /a/i.test(p.Name));
或者,转换为小写并使用String.prototype.includes
:
const withA = people.filter(p => p.Name.toLowerCase().includes("a"));
推荐阅读
- spring-boot - server-deployment.yml 未从 Spring Cloud Data 流服务器中的 server-config.yml 读取值
- javascript - 自定义 Azure DevOps REST API 调用
- heroku - 如何通过 heroku CLI 访问 Heroku 应用程序控制台
- c# - 在c#中使用动态项反序列化json对象
- azure-ad-b2c - Azure B2C 隐式流:在不使用 iFrame 的情况下获取新的访问令牌
- validation - 如何在 vue/element-ui 中验证间隔值
- security - 客户端服务器:如何让客户端更难修改其源代码
- excel - IE中的建议选择
- facebook - 尝试使用 IBM Watson Assistant 和 Facebook Messenger 创建聊天机器人
- reactjs - 什么是 Expo 中的本地连接?