浅析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模板实现方法
Apr 27 Javascript
js 自制滚动条的小例子
Mar 16 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
JS对大量数据进行多重过滤的方法
Nov 04 Javascript
jQuery序列化表单成对象的简单实现
Nov 29 Javascript
Angular多选、全选、批量选择操作实例代码
Mar 10 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
微信小程序多张图片上传功能
Jun 07 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
Feb 26 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
js常见遍历操作小结
Jun 06 Javascript
JS时间戳与日期格式互相转换的简单方法示例
Jan 30 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 flush类输出缓冲剖析
2008/10/19 PHP
Web程序工作原理详解
2014/12/25 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
便捷提取python导入包的属性方法
2018/10/15 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
Python 去除字符串中指定字符串
2020/03/05 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
英国鞋网:Rubber Sole
2020/03/03 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
往来会计岗位职责
2013/12/19 职场文书
升学宴主持词
2014/04/02 职场文书
交通事故委托书范本
2014/09/28 职场文书
银行授权委托书范本
2014/10/04 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
学生会主席任命书
2015/09/21 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
入门学习Go的基本语法
2021/07/07 Golang
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫