浅析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 相关文章推荐
JS网络游戏-(模拟城市webgame)提供的一些例子下载
Oct 14 Javascript
JS获取鼠标坐标的实例方法
Jul 18 Javascript
ExpressJS入门实例
Jan 14 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
js动态创建及移除div的方法
Jun 03 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
Oct 31 Javascript
jquery文字填写自动高度的实现方法
Nov 07 Javascript
jQuery简易时光轴实现方法示例
Mar 13 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
Nov 15 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
小程序Scroll-view上拉滚动刷新数据
Jun 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 全文搜索和替换的实现代码
2008/07/29 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
Python列表与元组的异同详解
2019/07/02 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
解除租房协议书
2014/12/03 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
证券区域经理岗位职责
2015/04/10 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
安全学习心得体会范文
2016/01/18 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js
详解python的异常捕获
2022/03/03 Python