浅析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
Mar 07 Javascript
js单向链表的具体实现实例
Jun 21 Javascript
jquery validate在ie8下的bug解决方法
Nov 13 Javascript
深入理解javascript严格模式(Strict Mode)
Nov 28 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
Apr 25 Javascript
vue2.0 axios前后端数据处理实例代码
Jun 30 Javascript
浅谈vue引入css,less遇到的坑和解决方法
Jan 20 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
Feb 26 Javascript
JavaScript遍历DOM元素的常见方式示例
Feb 16 Javascript
JavaScript 装逼指南(js另类写法)
May 10 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 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
浅析is_writable的php实现
2013/06/18 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
Javascript URI 解析介绍
2015/03/15 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
关于保护环境的标语
2014/06/09 职场文书
表扬通报怎么写
2015/01/16 职场文书