JS - ES6 filter() 篩選
阿新 • • 發佈:2020-10-20
* filter不會改變原陣列,不會對空陣列進行檢查
篩選符合條件項
篩選符合條件項
var arr = ['10','12','23','44','42']
var newArr = arr.filter( (val) => val>30 )
console.log(newArr); // ["44", "42"]
去掉陣列非真值( undefined, null, false, ' ', 0 )
var arr = [ '1', ' ', undefined, 2, null, '', 3, false, 0, true ];
var newArr = arr.filter( (val)=> val )
console.log(newArr); // ["1", " ", 2, 3, true]
// 空字串不包含空格
陣列去重
var arr = [ 1, 2, 3, 4, 1, 1, 2, 2, 3, 3, 4, 4, "a", "b", "c", "a", "b", "b" ];
var newArr = arr.filter( (val, index, arr) => arr.indexOf(val) === index );
console.log(newArr); // [1, 2, 3, 4, "a", "b", "c"]
根據陣列物件中某個值進行查詢
var arr = [
{ id: 1, name:"abc", val:"aaa" },
{ id:2, name:"asd", val:"bbb" },
{ id:3, name:"qwe", val:"ccc" },
]
var newArr = arr.filter( (val) => val.id === 1 );
console.log(newArr); // [{id: 1, name: "abc", val: "aaa"}]