js 筛选数组对象的数据 并判断指定属性为空 则直接返回false
var arr = [ { name: "张三", age: 20 }, { name: "", age: 30 }, { name: "李四", age: 25 } ]; var result = arr.filter(item => item.age > 25).some(item => !item.name); console.log(result); // false
上面的代码会筛选出 arr
数组中所有年龄大于 25 岁的人,然后检查这些人中是否有某个人的 name 属性为空,如果有则返回 false,否则返回 true
。
注意,上面的例子中,筛选和判断的顺序是不能颠倒的,因为 Array.prototype.filter()
方法会返回筛选出来的新数组,如果先判断,则会导致判断的是原数组,而不是筛选出来的新数组。