js操作数组函数实例小结


Posted in Javascript onDecember 10, 2015

本文实例讲述了js操作数组函数。分享给大家供大家参考,具体如下:

1.删除数组中指定的元素

/**
 * 参考实例
foreach = function (obj, insp){
if(obj== null && obj.constructor != Array){

return [];
}
//obj是要处理的数组,obj==null 表示对象尚未存在;obj.constructor != Array 表示对象obj的属性的构造函数不是数组;
//constructor属性始终指向创建当前对象的构造函数。两个条件均满足,则返回空数组[];
//下面对constructor属性作进一步了解。
var obj= [1, 2, 3, 4]; // 等价于 var obj= new Array(1, 2, 3, 4);
console.log(obj.constructor === Array); // 返回true 表明obj的构造函数为Array;
var foo= function() { }; // 等价于 var foo = new Function();
console.log(foo.constructor === Function); // 返回true 表明foo的构造函数为Function;
var obj = new Foo(); //由构造函数实例化一个obj对象
console.log(obj.constructor === Foo); // 返回true 表明obj的构造函数为Foo;
 */
//删除数组中指定的元素
function del(val, arr)
{
  //检测参数
  if (arr == null && arr.constructor != Array) {
    return [];
  }
  var newarr = []; //不存在的保存到新数组中
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] != val)
      newarr.push(arr[i]);
  }
  return newarr;
}
alert(del(2, [1, 2, 3, 4, 5, 2]));

2.去除重复的元素

/**
 *去除数组中重复的元素
把元素的值存为一个新数组的key,key是不可以重复的,然后变量次数组即可
 */
function unique(data) {
  data = data || [];
  var a = {};
  len = data.length;
  for (var i = 0; i < len; i++) {
    var v = data[i];
    if (typeof(a[v]) == 'undefined') {
      a[v] = 1;
    }
  };
  data.length = 0;
  for (var i in a) {
    data[data.length] = i;
  }
  return data;
}
alert(unique([12,12,12,34]));

3.删除数组指定下标的元素

/**
 *删除数组的指定下标元素 
 *
 * i 的值是一直在变的,n的值是只有if条件成立的时候才会变(会依次递增)
 */
Array.prototype.remove=function(dx)
 {
  if(isNaN(dx)||dx>this.length){return false;}
  for(var i=0,n=0;i<this.length;i++)
  {
    if(this[i]!=this[dx])
    {
      this[n++]=this[i]
    }
  }
  this.length-=1
 }
var arr = [1,2,3,4,2,5];
alert(arr);
arr.remove(2);
alert(arr);

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js判断浏览器的比较全的代码
Feb 13 Javascript
js 显示base64编码的二进制流网页图片
Apr 04 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 Javascript
下雪了 javascript实现雪花飞舞
Aug 02 Javascript
JS把内容动态插入到DIV的实现方法
Jul 19 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
jQuery实现复制到粘贴板功能
Feb 11 Javascript
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
基于Vue2的独立构建与运行时构建的差别(详解)
Dec 06 Javascript
vue.js 添加 fastclick的支持方法
Aug 28 Javascript
对angularJs中2种自定义服务的实例讲解
Sep 30 Javascript
深入解析vue 源码目录及构建过程分析
Apr 24 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 #Javascript
jQuery自定义动画函数实例详解(附demo源码)
Dec 10 #Javascript
javascript图片预加载完整实例
Dec 10 #Javascript
JavaScript动态插入CSS的方法
Dec 10 #Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 #Javascript
js表单提交和submit提交的区别实例分析
Dec 10 #Javascript
浅谈javascript中onbeforeunload与onunload事件
Dec 10 #Javascript
You might like
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
2013/06/24 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
美国最大的团购网站:Groupon
2016/07/23 全球购物
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
教师推荐信范文
2013/11/24 职场文书
物业门卫岗位职责
2013/12/28 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
年级组长自我鉴定
2014/02/22 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
护理见习报告范文
2014/11/03 职场文书
大学生读书笔记范文
2015/07/01 职场文书
安全生产奖惩制度
2015/08/06 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
python中 .npy文件的读写操作实例
2022/04/14 Python