浅析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几个验证函数代码
Mar 25 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
Javascript URI 解析介绍
Mar 15 Javascript
Javascript递归打印Document层次关系实例分析
May 15 Javascript
jQuery实现本地预览上传图片功能
Jan 08 Javascript
Validform+layer实现漂亮的表单验证特效
Jan 17 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
vue.js将unix时间戳转换为自定义时间格式
Jan 03 Javascript
使用JS动态显示文本
Sep 09 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
超轻量级的js时间库miment使用解析
Aug 02 Javascript
一篇文章了解正则表达式的替换技巧
Feb 24 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实现的简单组词算法示例
2018/04/10 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
Python实现针对中文排序的方法
2017/05/09 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
Python Flask基础教程示例代码
2018/02/07 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
职工代表大会主持词
2014/04/01 职场文书
公司授权委托书
2014/10/17 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery