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 相关文章推荐
javascript+xml实现简单图片轮换(只支持IE)
Dec 23 Javascript
简单实用的反馈表单无刷新提交带验证
Nov 15 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
Jun 12 Javascript
整理一下常见的IE错误
Nov 18 Javascript
微信小程序-getUserInfo回调的实例详解
Oct 27 Javascript
React 源码中的依赖注入方法
Nov 07 Javascript
VUE简单的定时器实时刷新的实现方法
Jan 20 Javascript
vue实现绑定事件的方法实例代码详解
Jun 20 Javascript
jQuery实现轮播图源码
Oct 23 jQuery
Angular单元测试之事件触发的实现
Jan 20 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 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
PHP网上调查系统
2006/10/09 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
js资料toString 方法
2007/03/13 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
vue cli 全面解析
2018/02/28 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
python 字符串split的用法分享
2013/03/23 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
软件测试英文面试题
2012/10/14 面试题
Prototype如何更新局部页面
2013/03/03 面试题
外贸学院会计专业应届生求职信
2013/11/14 职场文书
中式婚礼主持词
2014/03/13 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
计划生育目标责任书
2015/05/09 职场文书
深入解析MySQL索引数据结构
2021/10/16 MySQL
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL