浅析jquery数组删除指定元素的方法:grep()


Posted in Javascript onMay 19, 2016

遇到的问题

今天遇到一个问题,删除数组中的一个指定元素,并返回新的数组。

我定义的js数组是这样的:

var sexList=new Array[3];
sexList[0]="1";
sexList[1]="2";
sexList[2]="";

想达到的效果

我想达到的效果是这样的:

删除索引=1的元素,并返回新数组。

返回的结果是:

var sexList=new Array("1","");

我们知道,原生的javascript有一个函数:splice() 方法,可以删除数组中的指定元素。

关于splice()方法的具体用法,可以参考w3school的描述,这里不多做解释:http://www.w3school.com.cn/jsref/jsref_splice.asp

使用splice()的实现代码

我的实现代码:

var sexList=new Array[3];
sexList[0]="1";
sexList[1]="2";
sexList[2]="";
sexList=sexList.splice(1,1);

但是我发现我的数组使用这种方式时,返回的数组是不符合预期的。返回的是个空字符串。

后来网上搜索jquery的相关API,发现一个函数:grep()

grep()使用方法说明

jQuery.grep(array, callback, [invert])

概述

使用过滤函数过滤数组元素。

此函数至少传递两个参数:待过滤数组和过滤函数。过滤函数必须返回 true 以保留元素或 false 以删除元素。

参数

英文名 参数中文说明
array: 待过滤数组。
callback: 此函数将处理数组每个元素。第一个参数为当前元素,第二个参数而元素索引值。此函数应返回一个布尔值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素,i 代表元素索引值。如“a > 0”代表“function(a){ return a > 0; }”。
invert: 如果 "invert" 为 false 或为设置,则函数返回数组中由过滤函数返回 true 的元素,当"invert" 为 true,则返回过滤函数中返回 false 的元素集。

使用grep()的实现代码

sexList=$.grep(sexList,function(n,i){
return i!=1;
});

function(n,i)中

n:表示数组的单个实体,

i:表示数组的索引。

以上这篇浅析jquery数组删除指定元素的方法:grep()就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery的tab切换 js原理
Apr 01 Javascript
JavaScript对象、属性、事件手册集合方便查询
Jul 04 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
jquery自定义下拉列表示例
Apr 25 Javascript
js判断浏览器类型为ie6时不执行
Jun 15 Javascript
node.js中的fs.stat方法使用说明
Dec 16 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
Mar 03 Javascript
用NODE.JS中的流编写工具是要注意的事项
Mar 01 Javascript
vue-父子组件和ref实例详解
Nov 10 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
Mar 03 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
Jun 11 Javascript
JS数组转字符串实现方法解析
Sep 04 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 #Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
May 19 #Javascript
当jquery ajax遇上401请求的解决方法
May 19 #Javascript
基于Echarts 3.19 制作常用的图形(非静态)
May 19 #Javascript
前端js文件合并的三种方式推荐
May 19 #Javascript
Node.js+Express配置入门教程
May 19 #Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
May 19 #Javascript
You might like
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
如何分别全角和半角以避免乱码
2006/10/09 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
Javascript继承机制的设计思想分享
2011/08/28 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
python处理csv中的空值方法
2018/06/22 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python绘制汉诺塔
2021/03/01 Python
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
简历里的自我评价
2014/01/31 职场文书
优秀家长事迹材料
2014/05/17 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
2014年服务员工作总结
2014/11/18 职场文书
单身申明具结书
2015/02/26 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
七年级作文之环保作文
2019/10/17 职场文书