TypeScript如何使用单行代码从数组对象中获取name为Crystal的元素
解决方案
直接使用JS/TS原生的数组find方法即可实现单行查询,匹配到第一个符合条件的元素就会返回,没匹配到则返回undefined:
const result = _array.find(item => item.name === 'Crystal');
补充说明
- 如果你需要严格的TS类型校验,可以先为数组元素定义类型,类型系统会自动推导
find方法的返回值为对应元素类型或undefined:
// 先定义元素类型 type User = { id: number; name: string; } // 给数组指定类型 const _array: User[] = [{id: 1, name: 'Adam'}, {id:3, name: 'Crystal'}, {id:2, name: 'Bob'}, {id: 4, name: 'Daisy'}]; // 此时result的类型自动推导为 User | undefined const result = _array.find(item => item.name === 'Crystal');
- 如果要匹配所有符合条件的元素,把
find替换成filter即可,返回值为符合条件的元素组成的数组。
内容的提问来源于stack exchange,提问作者C.Das
相关产品推荐
相关产品推荐

