A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一个例子说明filter的基本用法:

let ar = ["1", "2"];let obj = {"key": "value"};function config(currentValue, index, arr) {  console.log("currentValue is " + currentValue + " index is " + index + " arr is " + arr);  let that = this;  console.log("key is " + that.key);  if (currentValue === "1") {    return false;  }  return true;}let filterAr = ar.filter(config, obj);console.log(JSON.stringify(filterAr));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

贴一下执行结果:

补充说明几点:

  • filter第一个函数参数的三个参数无须显式传递,也不能显式传递(会报参数未定义),在定义第一个函数参数(即config函数)时这个函数的参数也必须严格按照filter的定义使用;
  • filter的第二个参数如未传递,则为默认的undefined,也不能在第一个函数参数中使用(只有传递时才能使用);
  • filter第一个函数参数的返回值应为布尔值,filter会根据这个返回值决定是否把当前值(currentValue)放入最终的返回数组(filterAr);

1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马