我正在尝试过滤一个数组(具有所有类型的值)以仅获取整数。以下是代码,
let numbers= [1,2,3,'test',2.33,true];
let my = Observable.from(numbers).filter( n => Number.isInteger(Number(n)));
my.subscribe((value) => console.log(value),undefined,() => console.log('completed'));
问题是我的输出如下所示,
1, 2 , 3 , true , completed
所以它将bollean值转换为一个数字而不是返回它认为它是一个数字。我们有一种更好的方法来过滤混合数组中的数字吗?
答案 0 :(得分:1)
怎么样
let result = numbers.filter(v => Number.isInteger(v as number));