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动态添加删除div 具体实现
Jul 20 Javascript
jQuery插件实现多级联动菜单效果
Dec 01 Javascript
实例讲解JavaScript中的this指向错误解决方法
Jun 13 Javascript
AngularJs基于角色的前端访问控制的实现
Nov 07 Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
JavaScript实现获取select下拉框中第一个值的方法
Feb 06 Javascript
vue-cli 首屏加载优化问题
Nov 06 Javascript
VUE中使用MUI方法
Feb 12 Javascript
如何通过setTimeout理解JS运行机制详解
Mar 23 Javascript
微信小程序中wxs文件的一些妙用分享
Feb 18 Javascript
js前端面试常见浏览器缓存强缓存及协商缓存实例
Jun 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
PHP 调试工具Debug Tools
2011/04/30 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
Js面试算法详解
2018/04/08 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
详解JavaScript修改注册表的方法
2020/01/05 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
python支付宝支付示例详解
2019/08/22 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
学校司机岗位职责
2013/11/14 职场文书
家长会欢迎标语
2014/06/24 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
医院营销工作计划
2015/01/16 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python
Java SSM配置文件案例详解
2021/08/30 Java/Android
JS封装cavans多种滤镜组件
2022/02/15 Javascript
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js