浅析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 相关文章推荐
javascript 短路法代码精简
Aug 20 Javascript
xheditor与validate插件冲突的解决方案
Apr 15 Javascript
浅析document.createDocumentFragment()与js效率
Jul 08 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
jQuery事件绑定on()与弹窗实现代码
Apr 28 Javascript
Angularjs之filter过滤器(推荐)
Nov 27 Javascript
解决vue多个路由共用一个页面的问题
Mar 12 Javascript
在微信小程序里使用watch和computed的方法
Aug 02 Javascript
详解js模板引擎art template数组渲染的方法
Oct 09 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
May 05 Javascript
使用p5.js临摹动态图片
Nov 04 Javascript
解决vue+webpack项目接口跨域出现的问题
Aug 10 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
Laravel中任务调度console使用方法小结
2017/05/07 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
动手学习无线电
2021/03/10 无线电
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
基于jQuery实现在线选座之高铁版
2015/08/24 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
git使用.gitignore设置不生效或不起作用问题的解决方法
2017/06/01 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python3生成手写体数字方法
2018/01/30 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
2014年三万活动总结
2014/04/26 职场文书
养牛场项目建议书
2014/05/13 职场文书
2014年文员工作总结
2014/11/18 职场文书
房产公证书样本
2015/01/23 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers