基于JavaScript实现移除(删除)数组中指定元素


Posted in Javascript onJanuary 04, 2016

在Array对象中有给定的函数可以删除数组中指定的元素,虽然非常好用,但是总感觉看不到摸不着的比较别扭,下面就分享一个自定义的删除数组指定索引值元素的函数,希望给大家一个全新的思路。

代码实例如下:

var array=[]; 
array[0]="三水点靠木一"; 
array[1]="三水点靠木二"; 
array[2]="三水点靠木三"; 
array[3]="三水点靠木四"; 
array[4]="三水点靠木五"; 
function remove(array,index)
{ 
 if(index<=(array.length-1))
 { 
  for(var i=index;i<array.length;i++)
  { 
   array[i]=array[i+1]; 
  } 
 }
 else
 { 
  throw new Error('超出最大索引!'); 
 } 
 array.length=array.length-1; 
 return array; 
} 
document.write(remove(array,2));

以上代码中,声明一个remove()函数,此函数具有两个参数,第一个参数是数组对象,第二个参数是要删除数组元素的索引值,所以上面的代码能够删除数组中的第三个元素,并输出删除元素户的数组。实现的原理也非常的简单,做一下简单的介绍:

remove()函数首先判断传入的索引值是否大约数组的最大索引值array.length-1,如果大于则抛出错误,否则的话则将使用for循环从索引值i开始进行遍历,将索引值为i的数组值设置为低i+1项的,依次类推,原理大体如此,如有任何问题可以跟帖留言。

ps:js删除数组指定元素

var a = new Array("a","b","cc","d3");
//删除a数组的cc元素
//jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。
该函数属于全局jQuery对象。 jquery 1.2中添加的该静态方法
var index = $.inArray("cc",a);
if(index>=0){
//arrayObject.splice(index,howmany,item1,.....,itemX)
//参数  描述
//index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
//howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX 可选。向数组添加的新项目。
 a.splice(index,1);
 alert(a.toString());
}else{
 alert("error");
 return false;
}
Javascript 相关文章推荐
用javascript获取textarea中的光标位置
May 06 Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
js实现将选中值累加到文本框的方法
Aug 12 Javascript
jQuery中的siblings用法实例分析
Dec 24 Javascript
实现JavaScript的组成----BOM和DOM详解
May 18 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
jQuery表格的维护和删除操作
Feb 03 Javascript
Node.js读取文件内容示例
Mar 07 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
Sep 15 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 #Javascript
javascript基础语法学习笔记
Jan 04 #Javascript
封装好的javascript前端分页插件pagination
Jan 04 #Javascript
详解javascript的变量与标识符
Jan 04 #Javascript
bootstrap实现弹窗和拖动效果
Jan 03 #Javascript
基于javascript实现窗口抖动效果
Jan 03 #Javascript
理解jquery事件冒泡
Jan 03 #Javascript
You might like
香妃
2021/03/03 冲泡冲煮
PHP5 安装方法
2007/01/15 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
分享php分页的功能模块
2015/06/16 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
2018/01/02 jQuery
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
python实现下载文件的三种方法
2017/02/09 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
JAVA程序员自荐书
2014/01/30 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
春晚观后感
2015/06/11 职场文书
医院中层管理人员培训心得体会
2016/01/11 职场文书