如何在TypeScript中过滤对象数组并赋值给新的列表变量
解决方案
直接使用JavaScript数组的filter方法即可完成筛选,完整实现代码如下:
const list = [ { id: 1, name: "Sam", sex: "M"}, { id: 2, name: "Jane", sex: "F"}, { id: 3, name: "Mark", sex: "M"}, { id: 4, name: "Mary", sex: "F"}, // 修正了原示例中id为4的对象name属性缺失闭合双引号的语法问题 { id: 5, name: "Olivia", sex: "F"}, { id: 6, name: "Bob", sex: "M"} ] // ES6+ 写法 var maleList = list.filter(item => item.sex === 'M')
补充说明
filter是JavaScript数组的内置方法,遍历所有元素后会将符合判断条件的元素组装为新数组返回,不会修改原始的list数组- 如果需要兼容不支持ES6箭头函数的旧环境,可以用ES5写法实现:
// ES5 兼容写法 var maleList = list.filter(function(item) { return item.sex === 'M' })
内容的提问来源于stack exchange,提问作者Shahrooz M
相关产品推荐
相关产品推荐

