这篇文章主要介绍了 js 操作数组函数, 实例分析了 JavaScript 针对数组删除指定元素、去重及删除指定下标元素的实现方法, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文实例讲述了 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 程序设计有所帮助。
来源: