使用Javascript怎么對數(shù)組對象進行操作

使用Javascript怎么對數(shù)組對象進行操作?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

洪雅ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了槐蔭免費建站歡迎大家使用!

數(shù)組

數(shù)組定義:簡而言之就是一組有序的數(shù)據(jù)集合,其索引為從0開始且自然增長的整數(shù),其元素值可以是任何js數(shù)據(jù)!并且包含一個名為length的屬性,該屬性表示數(shù)組元素的個數(shù)!

一、定義數(shù)組,有三種定義方式:

方式一:

var arr=new Array(); 
arr[0]=“11”; 
arr[1]=“22”; 
arr[2]=“33”;

方式二:

var arr=new Array(“11”,“22”,“33”);

方式三:

var arr=[“11”,“22”,“33”];

二、數(shù)組的length屬性,可以獲取數(shù)組的長度,也可以截取,清空數(shù)組,如果設置的值比其當前值小,數(shù)組將被截斷,其尾部的元素將丟失。

如果設置的值比它的當前值大,數(shù)組的長度將增大,新的元素被添加到數(shù)組的尾部,它們的值為 undefined:

var arr=[“11″,”22″,”33″]; 
arr.length //3,返回數(shù)組的長度 
arr.length = 2 //['11','22'],截取數(shù)組前2個 
arr.length = 5 //['11','22',undefined,undefined,undefined],自動添加undefined 
arr.length = 0 //[],清空數(shù)組

三、遍歷數(shù)組:

var arr=[“11”,“22”,“33”]; 
//for循環(huán) 
for(var i=0;i<arr.length;i++){ 
 console.log(i) 
} 
//for in循環(huán) 
for( i in arr ){ 
 console.log(arr[i]) 
} 
//forEach循環(huán) 
arr.forEach(function(i){ 
 console.log(i) 
})

四、數(shù)組的添加和刪除:

push() 向數(shù)組末尾增加一個或多個元素,其返回值為增加元素后數(shù)組的長度。

var arr=[1,2,3]; 
arr.push(4) 
console.log(arr) //[1,2,3,4] 
arr.push(5,6,7) 
console.log(arr) //[1,2,3,4,5,6,7]

unshift() 向數(shù)組開頭增加一個或多個元素,其返回值為增加元素后數(shù)組的長度。

var arr=[1,2,3]; 
arr.unshift(4) 
console.log(arr) //[4,1,2,3] 
arr.unshift(5,6,7) 
console.log(arr) //[5,6,7,1,2,3,4]

pop() 從數(shù)組的末尾開始刪除,返回值為被刪除元素的值。

var arr=[1,2,3]; 
arr.pop() 
console.log(arr) //[1,2]

shift() 從數(shù)組的開頭開始刪除,返回值為被刪除元素的值。

var arr=[1,2,3]; 
arr.shift() 
console.log(arr) //[2,3]

五、join() 將數(shù)組通過指定的分隔符進行分隔,返回值為string類型,不改變原數(shù)組:

var arr=[1,2,3,4]; 
arr.join(‘-‘) //”1-2-3-4″ 
arr.join(”) //”1234″ 
arr.join(‘ ‘) //”1 2 3 4″

六、sort() 數(shù)組排序:

var arr=[2,8,3,4,12,56]; 
//從小到大排序 
arr.sort(function(a,b){ 
 return a-b; 
}); 
//從大到小排序 
arr.sort(function(a,b){ 
 return b-a; 
}); 
//隨機排序 
arr.sort(function(a,b){ 
 return Math.random() – 0.5 
})

七、reverse() 將數(shù)組逆序:

var arr=[2,8,3,4,12,56]; 
arr.reverse() //[56, 12, 4, 3, 8, 2]

八、獲取數(shù)組中最大和最小的數(shù)字:

var arr = [5, 458 , 120 , -215 , 228 , 400]; 
var max = Math.max.apply(Math, arr); 
var min = Math.min.apply(Math, arr);

九、slice() 可從已有的數(shù)組中返回選定的元素,不改變原數(shù)組

一個參數(shù),從start下標處開始直到結尾處。

有兩個參數(shù),從 start下標到end下標(不包括該元素)處的數(shù)組元素:

var arr=[2,8,3,4,12,56]; 
arr.slice(1) //[8, 3, 4, 12, 56] 
arr.slice(1,5) //[8, 3, 4, 12]

十、splice()

一個參數(shù),刪除從start下標處開始直到結尾處。返回刪除的數(shù),這個直接修改原數(shù)組。

有兩個參數(shù),刪除從start下標到end下標處的數(shù)組元素,返回刪除的數(shù),這個直接修改原數(shù)組。

有三個參數(shù),從start下標到end下標的元素替換成第三個參數(shù),如果前兩個數(shù)相同,則是替換,這個直接修改原數(shù)組:

var arr=[2,8,3,4,12,56]; 
//從下標2的位置開始截取 
console.log(arr.splice(2)) // [3, 4, 12, 56] 
console.log(arr)  // [2, 8] 
 
var arr=[2,8,3,4,12,56]; 
//刪除下標1到5的位置 
console.log(arr.splice(1,5)) //[8, 3, 4, 12, 56] 
console.log(arr)  // [2] 
 
var arr=[2,8,3,4,12,56]; 
//替換下標1的位置 
console.log(arr.splice(1,1,'qqq')) //[8] 
console.log(arr) //[2, “qqq”, 3, 4, 12, 56] 
 
var arr=[2,8,3,4,12,56]; 
//把下標1到3的位置刪除,并插入qqq 
console.log(arr.splice(1,3,'qqq')) //[8, 3, 4] 
console.log(arr) // [2, “qqq”, 12, 56]

十一、concat() 可以將兩個數(shù)組合并成一個新數(shù)組返回:

var arr1=[1,2,3,4,5]; 
var arr2=[6,7]; 
var arr3=arr1.concat(arr2); 
alert(arr1);// [1,2,3,4,5] 
alert(arr2);// [6,7] 
alert(arr3);// [1,2,3,4,5,6,7]

十二、數(shù)組去重:

方法一:

function removeRepeat(arr){ 
 return arr.filter(function(elem, pos) { 
  return arr.indexOf(elem) == pos; 
 }); 
}

方法二:

function removeRepeat(a){ 
 var arr=[]; 
 for(var i=0;i<a.length;i++){ 
  if(arr.indexOf(a[i]) === -1){ 
   arr.push(a[i]); 
  } 
 } 
 return arr; 
}

方法三:

function removeRepeat(a){ 
 var arr = []; 
 a.forEach(function(i){ 
   if(arr.indexOf(i) === -1){ 
   arr.push(i); 
  } 
 }); 
 return arr 
}

方法四:

function removeRepeat(arrs){ 
 var newArr = []; 
 var hash = {}; 
 for(var i=0;i<arrs.length;i++){ 
  var key = typeof(arrs[i])+arrs[i]; 
  if(hash[key] !==1){ 
   newArr.push(arrs[i]); 
   hash[key] =1; 
  };  
 }; 
 return newArr; 
}

十二、prototype 屬性,直接對數(shù)組的原型進行更改或者添加功能:

//比如我們給數(shù)組添加一個求和的方法 
Array.prototype.sum= function(){ 
 var n = 0; 
 this.forEach(function(i){ 
  n+=i; 
 }); 
 return n; 
} 
 
var arr = [1,2,3,4] 
alert(arr.sum()) //10

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

網(wǎng)站欄目:使用Javascript怎么對數(shù)組對象進行操作
文章來源:http://bm7419.com/article34/igcppe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站設計網(wǎng)站收錄、做網(wǎng)站小程序開發(fā)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化