js陣列操作

2022-08-29 04:06:11 字數 2213 閱讀 4964

1.遍歷陣列:

jquery

$.each(arr,function(index,value,arr))

js:arr.foreach(function(value,index,arr))

注意jq與js寫法的不同,value與index的先後問題;

foreach方法還可以傳多個引數進去:

array.foreach(function,thisobject);thisobject可以改變this值的指向問題

2,遍歷並且改變陣列:

array.map(callback(value,index,arr))

var newarr=[1,2,3,0].map(function(value,index,arr))

map方法雖然能改變陣列,也可以篩選陣列,但是不能過濾陣列;

3,過濾陣列:

array.grep(callback(value,index,arr))

var greparr=$.grep([1,2,3,0],function(value))//greparr=1 2 3;

array.filter(callback(value,index,arr))

var filterarr=[1,2,3,0].filter(function(value))

alert(filterarr);//filterarr=1 2 3;

篩選陣列的方法支援鏈式呼叫

4,按一定條件篩選陣列,並且返回乙個bool值

篩選合乎某些條件的陣列:類似於選擇器的has()

some方法():

1>:只有乙個引數callback:

alert([1,2,3,40].some(function(value))) //返回就停止執行

2>:兩個引數callback,thisobject:

some(function,thisobject)

要求所有的成員都滿足的陣列函式:

alert([1,2,3,40].every(function(value)))

5,尋找陣列中的的某個元素

indexof():

array.indexof(searchelement,startindex),返回searchelement的索引值,未找到返回-1,如果startindex的值不符合要求 ,預設從首位開始查詢;

[1,2,3,40].indexof(40,2) //3 40的index值

lastindexof():

array.lastindexof(searchelement,startindex),與indexof不同的是lastindexof是從末尾開始查詢,stratindex預設為array.length-1而不是0;

alert([20, 51, 72, 33, 54].lastindexof(5,3));  //1

6,迭代,遞迴:圍繞陣列一周

reduce(callback,initialvalue):

callback(precious,current,index,array),initialvalue:是乙個可選引數,指定陣列的初始值,如果有的話就代表著callback的第乙個引數值precious為initialvalue,迭代次數多了一次,例如以下例子:

console.log([1,2,3,4].reduce(function(pre,next,index,arr),3))

如果沒有就指的是從陣列的第乙個開始,此時的precious指的是陣列的第乙個元素,current指的是第二個元素,

console.log([1,2,3,4].reduce(function(pre,next,index,arr)))

使用迭代實現二維陣列的扁平化:

var matrix = [

[1, 2],

[3, 4],

[5, 6]

];console.log(matrix.reduce(function(previous, current) ));

object.concat(element1,element2.....element):按照順序連線乙個字串或者是陣列

var str="ss";

console.log(str.concat("sss","www"));

var eledivs = document.getelementsbytagname("div");

array.prototype.foreach.call(eledivs, function(div) );

js陣列操作

對陣列的整體性操作 var nums1 var nums2 for var i 0 i 10 i alert nums1 var nums2 nums1 nums2 nums1.splice 0 nums2 nums1.concat nums2 0 10 nums2 9 0 alert nums1 ...

JS陣列操作

陣列的生成 var arr 1,2,3 var arr new array 1,2,3 2.陣列操作 var arr arr.pop 尾部刪除 arr.shift 頭部刪除 arr.push 尾部新增 arr.unshift 頭部新增 arr.splice position,length,eleme...

js陣列操作

陣列 1 陣列內可以存放任意型別的資料 2 陣列元素不賦值,則為undefined 3 列印陣列時,如果某個元素沒有賦值,則為 4 訪問陣列範圍以外的元素時,不會出現越界異常,為undefined 5 定義的陣列大小,依然可以新增更多的元素 第一種 var arr new array arr 0 1...