首页 > 解决方案 > 如何过滤作为对象数组中对象属性的电子邮件域?

问题描述

我有这个数组

let registers = [Register, Register, Register];

Register {name: 'Ray', email: 'ray@gmail.com', password: '1234'}
Register {name: 'Carl', email: 'carl@gmail.com', password: '4321'}
Register {name: 'Lina', email: 'lina@outlook.com', password: '5678'}

如何获得一个包含 @gmail.com 作为电子邮件的对象的新数组?

标签: javascriptarraysobject

解决方案


Array.filter与 一起使用String.includes

Array.filter过滤带有某些条件的原始数组,其中String.includes提供条件,电子邮件包含一个字符串@gmail.com

const data = [{ name: 'Ray', email: 'ray@gmail.com', password: '1234' },
              { name: 'Carl', email: 'carl@gmail.com', password: '4321' },
              { name: 'Lina', email: 'lina@outlook.com', password: '5678' }];

const output = data.filter(node => node.email.includes('@gmail.com'));;

console.log(output);


推荐阅读