本文實例講述了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程序設計有所幫助。