JS Array.filter()方法
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()方法的更多相关文章
- js array filter pop push shift unshift方法
JavaScript Array filter() 方法 JavaScript Array 对象 实例 返回数组 ages 中所有元素都大于 18 的元素: var ages = [32, 33, ...
- JavaScript Array filter() 方法
JavaScript Array filter() 方法 var ages = [32, 33, 16, 40]; function checkAdult(age) { return age > ...
- js的filter方法
filter()方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组. 基本语法: arr.filter(callback[, thisArg]) 参数介绍: 参数名 说明 cal ...
- js array.filter实例(数组去重)
语法: 循环对数组中的元素调用callback函数, 如果返回true 保留,如果返回false 过滤掉, 返回新数组,老数组不变 var new_array = source_array.filt ...
- js Array 数组方法扩展
//去重复 Array.prototype.unique = function() { this.sort(); var re=[this[0]]; for(var i ...
- js Array 方法总结
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js Array 中的 map, filter 和 reduce
原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filter Array 中的高阶函数 ---- map, filter, reduce map() - ...
- JS Array常用方法indexOf/filter/forEach/map/reduce详解
Array共有九个方法 Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.protot ...
- 兼容低版本JS的Array.map方法
前几天去别的公司面试遇到个这样的问题,兼容IE7下的Array.map方法,一脸蒙蔽.后面回来查了下资料发现.Array.map方法是ECMA-262 标准中新添加的方法,在低版本的JS中是木有的. ...
随机推荐
- Unity搭建简单的图片服务器
具体要实现的目标是:将图片手动拷贝到服务器,然后在Unity中点击按钮将服务器中的图片加载到Unity中. 首先简答解释下 WAMP(Windows + Apache + Mysql + PHP),一 ...
- thinkphp5开发的网站出现”No input file specified”(php版本5.6.27)
thinkphp5开发的网站出现”No input file specified”(php版本5.6.27) 一.总结 一句话总结:搜索引擎一定要用google,比百度节约时间一万倍,google啊, ...
- m_Orchestrate learning system---三十二、数据库字段判断为空时容易出现问题,如何从根本上解决这个问题
m_Orchestrate learning system---三十二.数据库字段判断为空时容易出现问题,如何从根本上解决这个问题 一.总结 一句话总结:字段禁止为空,设置默认值0即可 禁止 空 默认 ...
- ubuntu , 安装包的具体文件的查看方法
To see all the files the package installed onto your system, do this: dpkg-query -L <package_name ...
- Java类和对象的概念
Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念. Java中的类可以看做C语言中结构体的升级版.结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可 ...
- GetTitleAndUrl
Sub GetTitleAndUrl() Dim strText As String Dim i As Long Dim OneA Dim IsContent As Boolean Dim PageI ...
- linux 不解压日志压缩包直接搜索里面的内容
- 『Numpy』高级函数_np.nditer()&ufunc运算
1.np.nditer():numpy迭代器 默认情况下,nditer将视待迭代遍历的数组为只读对象(read-only),为了在遍历数组的同时,实现对数组元素值得修改,必须指定op_flags=[' ...
- python-day59--前端 jQuery
一.什么是jQuery? http://jquery.cuishifeng.cn/ 类似Python里面的模块 是js的一个库/插件/工具 二.JS和jQuery的关系 - jQuery就 ...
- python随机数,随机选择……random
import random from random import random, uniform, randint, randrange, choice, sample, shuffle list = ...