JavaScript陣列建立與操作

2021-09-11 22:53:01 字數 3513 閱讀 2719

1.1 array建構函式建立

var arr = new array()//建立乙個空陣列

var arr = new array(10)//建立乙個長度為10的陣列,單傳乙個數字為陣列的長度(不可以傳小數)

var arr = new array('red','blue','green')//建立乙個包含3項的字串的陣列

使用array建立的時候可以省略new操作符 

1.2 字面量建立

var arr = ['red','blue','green']//建立乙個包含3個字串的陣列

var arr = //建立乙個空陣列

var arr = [1,2,]//不推薦,會建立乙個包含2或者3項的陣列(在ie8及之前的版本建立3項陣列)

var arr = [,,,,,]//不推薦,會建立乙個包含5或者6項的陣列(同上)

//push()方法

var arr = [1,2];

arr.push(3)//[1,2,3]

//push()方法可以接收任意引數,逐個新增到陣列末尾,返回修改後的陣列

//手寫array.push()方法

array.prototype.push = function()

return this.length

}//pop()方法

var arr = [1,2,3];

arr.pop(3)//[1,2]

//pop()方法從陣列末尾移除最後一項,減少陣列的length值,然後返回移除的項

//unshift()方法

var arr = [1,2,3];

arr.unshift(4)//[4,1,2,3]

//在陣列前邊任意新增個項,並返回新陣列長度

//shift()方法

var arr = [1,2,3];

arr.shift()//[2,3]

//shift()方法能夠移除陣列中的第一項並返回該項,陣列長度減一

//reverse()方法

var arr = [1,2,3];

arr.reverse()//[3,2,1]

//reverse()方法反轉陣列項的資料

//sort()方法

var arr = [1,2,3,11,23];

arr.sort()//[1, 11, 2, 23, 3]

//sort方法按公升序排列(小的在前面),為排序sort()方法會呼叫每個陣列項的tostring()方法,然

//後比較得到字串(即使陣列每項都是數值),確定如何排序,這種排序方法很多情況下不是最佳方案,

//因此sort()方法可以接收乙個函式

//sort()自定義函式

//1、必須傳兩個形參,

//2、看返回值

//當返回值為-1時,前面的數放在前面

//當返回值為1時,那麼後面的數放在前邊

//為0的時候不動

//公升序函式

function compare(val1, val2) else

}//公升序函式簡化

function compare(val1, val2)

var arr = [1,32,3,11,23];

arr.sort(compare)//[1,3,11,23,32]

//splice()方法

//splice()接收三個引數splice(從第幾位開始,擷取多少的長度,在切口處新增的新資料(長度不限))

var arr = [1,1,2,2,3,3]

arr.splice(1,2)//[1,2,3,3]

var arr = [1,1,2,2,3,3]

arr.splice(2,2,5,5)//[1,1,5,5,3,3]

var arr = [1,2,3,5]

arr.splice(3,0,4)//[1,2,3,4,5]

var arr = [1,2,3,5]

arr.splice(-1,0,4)//[1,2,3,4,5]

//splice()計算下標的方法

splice = function(pos)

//concat()方法

var arr = [1,2,3]

var arr1 = [4,5,6]

arr.concat(arr1)//[1,2,3,4,5,6]

//concat()方法可以基於當前陣列中的所有項建立乙個新陣列,具體來說就是這個方法會建立當前陣列的乙個副

//本,然後將接收到的引數新增到這個副本的末尾,最後返回全新的陣列

//slice()方法

var arr = [1,2,3,4,5,6]

arr.slice(1)//[2,3,4,5,6]

arr.slice(1,4)//[2,3,4]

arr.slice(5,4)//

//slice()方法基於當前陣列的乙個或者多個項建立乙個新陣列

//可以接收兩個引數,即項的起始位置和結束位置(如果只傳乙個引數,即為起始位置,結束位置在陣列末尾項)

//如果有兩個引數該方法返回起始位置和結束位置中間的項,不包括結束位置的項

//如果slice()方法的引數中有乙個負數,則用陣列的長度來加上該數來確定相應的位置

//如果結束位置小於起始位置,則返回空陣列

//join()方法

var arr = [1,2,3]

arr.join(',')//1,2,3

arr.join('||')//1||2||3

//join()方法只接收乙個引數(string)作為字串的分隔符,如果不傳值或者傳undefined則使用逗號來分割

//ie7及更早的版本使用"undefined"作為分隔符

//根據字串長度排序

var arr = ['gfdgrewgre','gfdsgs','juytkuytkuyr','fdsggtrhtr','gfdsfdsgrbrsbt'];

arr.sort(function(val1,val2) )

//根據ascll碼排序

function retbytes(str)

}return num

}var arr = ['gfdgr哈哈ewgre','我是中文','uytkuyr','fdsggtrhtr','gf呵呵sbt'];

arr.sort(function(val1,val2) )

//給乙個有序陣列亂序

var arr = [1,2,3,4,5,6.7]

arr.sort(function() )

//原型鏈陣列去重

array.prototype.unique = function() ,

arr = ,

len = this.length

for (var i = 0; i < len; i++)

} return arr

}

javascript陣列與json的區別

在做蔬菜管理系統的時候,老是把陣列型別和json物件搞混淆!一,陣列 1.定義一維陣列 var s1 new array s1 1,2,3,4 或者s1 0 1,s1 1 2,s1 3 3,s1 4 4 alert s1 0 結果為1 2,定義二維素組 var s1 new array var s1...

JavaScript陣列的拼接與替換

a 刪除 刪除陣列中的指定項數。接受兩個引數第乙個引數為開始刪除的索引,第二個引數代表刪除的位數,此方法的返回值為一刪除元素組成的陣列,並且改變原陣列,原陣列為刪除指定項後的陣列。b 替換 向指定位置插入任意數量的項,並且同時刪除任意數量的項。接受三個引數,第乙個引數為起始位置,第二個引數為要刪除的...

JavaScript建立物件

一 建立單個物件 方式一 object建構函式 var o new object o.key value 方式二 物件字面量 方式一和二缺點 使用相同的介面建立很多物件會產生大量重複 使用方式三解決 方式三 工廠模式 使用函式封裝以特定介面建立物件的細節 function createobject ...