浅析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 相关文章推荐
Json对象与Json字符串互转(4种转换方式)
Mar 27 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
jQuery实现hover合成事件的方法
Aug 06 Javascript
jquery的幻灯片图片切换效果代码分享
Sep 07 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
js判断日期时间有效性的方法
Oct 24 Javascript
谈一谈javascript闭包
Jan 28 Javascript
JS创建对象几种不同方法详解
Mar 01 Javascript
Vue.js实现实例搜索应用功能详细代码
Aug 24 Javascript
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 jQuery
ElementUI 修改默认样式的几种办法(小结)
Jul 29 Javascript
vue递归实现树形组件
Jul 15 Vue.js
基于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
第二节--PHP5 的对象模型
2006/11/16 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
php实用代码片段整理
2016/11/12 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
2015/12/29 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python如何在DataFrame增加数值
2020/02/14 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
高三历史教学反思
2014/01/09 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
设备售后服务承诺书
2014/05/30 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
政协工作总结2015
2015/05/20 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
Django+Celery实现定时任务的示例
2021/06/23 Python