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 相关文章推荐
jQuery自定义事件的简单实现代码
Jan 27 Javascript
JavaScript中setter和getter方法介绍
Jul 11 Javascript
springMVC结合AjaxForm上传文件
Jul 12 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
Aug 24 Javascript
探索Vue.js component内容实现
Nov 03 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
AngularJS自定义指令实现面包屑功能完整实例
May 17 Javascript
教你如何用node连接redis的示例代码
Jul 12 Javascript
Django+vue跨域问题解决的详细步骤
Jan 20 Javascript
浅谈Vue项目骨架屏注入实践
Aug 05 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 Javascript
uniapp实现横向滚动选择日期
Oct 21 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
thinkphp缓存技术详解
2014/12/09 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
js a标签点击事件
2017/03/30 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
修复 Django migration 时遇到的问题解决
2018/06/14 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
工程业务员工作职责
2013/12/07 职场文书
出国留学介绍信
2014/01/13 职场文书
新学期开学寄语
2014/01/18 职场文书
广告宣传策划方案
2014/05/21 职场文书
行政助理岗位职责
2015/02/10 职场文书
货款欠条范本
2015/07/03 职场文书
离婚协议书格式范本
2016/03/18 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS
源码安装apache脚本部署过程详解
2022/09/23 Servers
关于MySQL中explain工具的使用
2023/05/08 MySQL