浅析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 相关文章推荐
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
jquery validator 插件增加日期比较方法
Feb 21 Javascript
JavaScript实现更改网页背景与字体颜色的方法
Feb 02 Javascript
jQuery实现的进度条效果
Jul 15 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
AngularJS向后端ASP.NET API控制器上传文件
Feb 03 Javascript
js实现select二级联动下拉菜单
Apr 17 Javascript
基于JavaScript实现的快速排序算法分析
Apr 14 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
Jul 09 Javascript
Js代码中的span拼接问题解决
Nov 22 Javascript
vue打开子组件弹窗都刷新功能的实现
Sep 21 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
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
二行代码解决全部网页木马
2008/03/28 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
Servlet面试题库
2015/07/18 面试题
电力公司个人求职信范文
2014/02/04 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
班风学风建设方案
2014/05/06 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
委托书的写法
2014/09/16 职场文书
孕妇离婚协议书范本
2014/11/20 职场文书
个人创业事迹材料
2014/12/30 职场文书
爱心捐助活动总结
2015/05/09 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle