1、filter()接收的函数可以有多个参数。通常我们只使用第一个参数,第二参数和第三个参数表示元素的位置和数组本身:

//去重
var arr = ["1", "2", "4", "2", "1"];
var r = arr.filter(function (element, index, self) {
return self.indexOf(element) === index;
});
arr = arr; // [1, 2, 4]

2、

/*
filter()
对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,
该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的
非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的
数组也不会包含这些元素。
回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。
*/ // 原始数据
var arrs = [
{ name: "tom", age: 18, sex: "boy" },
{ name: "jim", age: 19, sex: "boy" },
{ name: "anchor", age: 20, sex: "boy" }
]; // 过滤条件
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);

9、

<div>
<#list qqList! as qqItem>
<section class="required" data-type="SINGLE">
<input disabled type="text" name="n1" value="n1_val" />
<input disabled type="text" name="n2" value="n2_val" />
</section> <section class="required" data-type="MULTIPLE">
<input disabled type="text" name="n3" value="n3_val" />
<input disabled type="text" name="n4" value="n4_val" />
</section>
</#list>
</div> $('section.required').each(function () {
var type = $(this).attr('data-type');
if (type == 'MULTIPLE') {
var inputBeanArr = $(this).find('input:text').filter(function () {
return !!this.value;
})
var v1 = inputBeanArr.eq(0).val(); // n1_val
}
}

JS Array.filter()方法的更多相关文章

  1. js array filter pop push shift unshift方法

    JavaScript Array filter() 方法  JavaScript Array 对象 实例 返回数组 ages 中所有元素都大于 18 的元素: var ages = [32, 33,  ...

  2. JavaScript Array filter() 方法

    JavaScript Array filter() 方法 var ages = [32, 33, 16, 40]; function checkAdult(age) { return age > ...

  3. js的filter方法

    filter()方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组. 基本语法: arr.filter(callback[, thisArg]) 参数介绍: 参数名 说明 cal ...

  4. js array.filter实例(数组去重)

    语法: 循环对数组中的元素调用callback函数, 如果返回true 保留,如果返回false 过滤掉,  返回新数组,老数组不变 var new_array = source_array.filt ...

  5. js Array 数组方法扩展

    //去重复   Array.prototype.unique = function()  {     this.sort();     var re=[this[0]];     for(var i ...

  6. js Array 方法总结

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. js Array 中的 map, filter 和 reduce

    原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filter Array 中的高阶函数 ---- map, filter, reduce map() - ...

  8. JS Array常用方法indexOf/filter/forEach/map/reduce详解

    Array共有九个方法   Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.protot ...

  9. 兼容低版本JS的Array.map方法

    前几天去别的公司面试遇到个这样的问题,兼容IE7下的Array.map方法,一脸蒙蔽.后面回来查了下资料发现.Array.map方法是ECMA-262 标准中新添加的方法,在低版本的JS中是木有的. ...

随机推荐

  1. spring boot: freemarket模板引擎

    spring boot: freemarket模板引擎 freemarket模板引擎,可以和thymeleaf模板引擎共存 pom.xml引入 <!-- Freemarket --> &l ...

  2. Java数组常用API

    java.util.Arrays Arrays.asList() 数组转换成列表 String[] strArray = {"zhang", "xue", &q ...

  3. Couchbase集群

    Couchbase集群 http://www.cnblogs.com/sunwubin/p/3426801.html Couchbase服务器可以单独运行,也可以作为集群运行.在Couchbase集群 ...

  4. OAF 交互式列车 上一步 下一步的简单使用

    在实际的需求中,我们往往会遇到在下一步的时候验证某些参数,而上一步不需要验证. 这个是非常粗暴的解决方式 if( "goto".equals(pageContext.getPara ...

  5. Eclipse SVN修改用户名和密码

    问题描述:     Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能.但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的 ...

  6. @Component、@Service、@Constroller

    @Component.@Service.@Constroller,@Repository,它们分别用于软件系统的不同层次: @Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可 ...

  7. 37. Sudoku Solver *HARD*

    Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...

  8. Django rest framework(2)----权限

    一 添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 #!/usr/bin/env python # coding:u ...

  9. AOJ2025 Eight Princes

    我们查看更一般的情况,设人数为m 则n < m * 2无解 然后n为奇数的情况: 我们把一个人和一个空格打包,于是剩下m个"人"和n - m个空格,随便排列这些"人 ...

  10. Mysql 时间类型整理

    一.date_sub.SUBDATE.date_add select now(),  date_sub(now(),interval  1 minute),SUBDATE(now(),interval ...