pwindy  
在完成任务的同时,还需要不断“复盘”,不论你多么的忙,都需要留下时间思考,可以思考哪些地方做的好,哪些地方我们可以改进,应该如何改进,注重总结才是王道


filter()

对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true(return true) 的原数组元素,返回值为false(return false)的原数组元素过滤掉。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。

// 原始数据
var arrs = [
  {
    name: "tom",
    age: 18,
    sex: "boy"
  },
  {
    name: "jim",
    age: 19,
    sex: "boy"
  },
  {
    name: "anchor",
    age: 20,
    sex: "boy"
  },
  {
    name: "lucy",
    age: 18,
    sex: "girl"
  },
  {
    name: "lily",
    age: 19,
    sex: "girl"
  },
  {
    name: "andy",
    age: 20,
    sex: "girl"
  }
];

// 过滤条件
var limits = {
  name: 'tom',
  age: 18,
  sex: 'boy'
};

// filter回调函数
function dofilter(element, index, array) {
  if(limits.name && limits.name != element.name){ // 姓名过滤
    return false;
  }else if(limits.age && limits.age != element.age){ // 年龄过滤
    return false;
  }else if(limits.sex && limits.sex != element.sex){ // 性别过滤
    return false;
  }
  return true;
}

/* test */
var filtered = arrs.filter(dofilter);
console.log(filtered);

 

参考---https://blog.csdn.net/archer119/article/details/78893030?utm_term=js%E7%9A%84filter%E4%B8%ADreturntrue&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-1-78893030&spm=3001.4430

posted on 2021-11-12 17:55  pwindy  阅读(2305)  评论(0编辑  收藏  举报