js数组 筛选 查询 filter 方法
1、定义
filter()创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
2、语法
array.filter(function(currentValue,index,arr), thisValue);
4、用法
filter() 方法用于把Array中的某些元素过滤掉,然后返回剩下的未被过滤掉的元素。
6、使用实例
1.返回数组array中所有元素都大于等于14的元素、返回等于14、返回大于某个值和小于某个值的元素的元素。
const array = [14, 17, 18, 32, 33, 16, 40];
const newArr = array.filter(num => num > 14)
console.log(newArr);//打印 [17,18,32,33,16,40]
// 查找某个值-------------------------
const array = [14, 17, 18, 32, 33, 16, 40];
const newArr = array.filter(num => num == 14)
console.log(newArr);//打印 [14]
//返回大于某个值和小于某个值的元素
const array = [14, 17, 18, 32, 33, 16, 40];
const newArr = array.filter(num => num > 14 && num < 33)
console.log(newArr);//打印 [17, 18, 32, 16]
2.数组去重操作:对数组array中所有相同的元素进行去重复操作。
const array = [2, 2, 'a', 'a', true, true, 15, 17]
const newArr = array.filter((item, i, arr) => {
return arr.indexOf(item) === i
})
console.log(newArr);//打印 [2, 'a', true, 15, 17]
//-------------------------------------------------------------------------
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 9,]
const newArr = array.filter((item, i, arr) => {
return arr.indexOf(item) === i
})
console.log(newArr);// 打印 [1, 2, 3, 4, 5, 6, 7, 8, 9]
3.多条件查询
filtered = list_all1.filter(function (item) {
return item.code.indexOf(row1.code) > -1 && item.names.indexOf($("#txt_title").val()) > -1;
});
评论已关闭