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 相关文章推荐
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
JavaScript实现汉字转换为拼音的库文件示例
Dec 22 Javascript
推荐10款扩展Web表单的JS插件
Dec 25 Javascript
详解node.js 下载图片的 2 种方式
Mar 02 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
Sep 27 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
May 21 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 Javascript
Vue数据双向绑定底层实现原理
Nov 22 Javascript
vuejs中父子组件之间通信方法实例详解
Jan 17 Javascript
Vue实现Layui的集成方法步骤
Apr 10 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中养成7个面向对象的好习惯
2010/07/17 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php实现统计邮件大小的方法
2013/08/06 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
详解Node.js模板引擎Jade入门
2018/01/19 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
vue3.0实现插件封装
2020/12/14 Vue.js
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
四年级下册教学反思
2014/02/01 职场文书
网络研修随笔感言
2014/02/17 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
先进典型发言材料
2014/12/30 职场文书
小学教师工作总结2015
2015/04/07 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
Django与数据库交互的实现
2021/06/03 Python
利用python调用摄像头的实例分析
2021/06/07 Python
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL