陣列Array屬性和方法 如何將偽陣列轉換為陣列

2021-10-08 11:03:14 字數 4194 閱讀 5913

陣列的屬性:

length:獲取陣列的長度;

constructor:返回建立陣列物件的原型函式;

prototype:向陣列物件新增屬性或方法。

陣列的方法:

concat():連線兩個或更多的陣列,並返回結果;

join():把陣列的所有元素放入乙個字串。

pop():刪除陣列的最後乙個元素並返回刪除的元素。

push():向陣列的末尾新增乙個或更多元素,並返回新的長度。

slice():選取陣列的的一部分,並返回乙個新陣列。

splice():從陣列中新增或刪除元素。

sort():對陣列的元素進行排序。

reverse():反轉陣列的元素順序。

map():遍歷陣列,改變陣列元素的值。

簡單的**實現跟好的理解這些方法:

var arr1 =[1

,2,3

];var arr2 =[6

,5,4

];console.

log(arr1.

concat

(arr2));

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

var arr =[3

,6,2

,9,4

];console.

log(arr.

join

("-"))

;//3-6-2-9-4

var arr =

["aa"

,"qq"

,"yy"];

arr.

pop();

console.

log(arr)

;//(2) ["aa", "qq"]

arr.

push

("www");

console.

log(arr)

;//(3) ["aa", "qq", "www"]

console.

log(arr.

slice(1

,2))

;//["qq"]

arr.

splice(1

,2)console.

log(arr)

;//(1) ["aa"]

var arr =[5

,2,7

,9,1

];arr.

sort()

;console.

log(arr)

;//(5) [1, 2, 5, 7, 9]

arr.

reverse()

;console.

log(arr)

;//(5) [9, 7, 5, 2, 1]

說一下其中較為難理解的陣列方法吧:

slice();:第乙個引數指開始擷取某個元素在陣列的索引位置

第二個引數指結束擷取某個元素在陣列的索引位置

返回值就是擷取下來的元素陣列不影響原陣列

splice();第乙個引數指開始的下標索引

第二個引數指刪除元素的個數(這裡若是引數為1,則相當對陣列做替換操作了)

第三個引數是指新增元素的內容(可選)

返回值是刪除的元素陣列會影響原陣列

看乙個例子:

var arr =[12

,13,14

,15,16

];arr.

splice(1

,0,22

); console.

log(arr)

;//[12, 22, 13, 14, 15, 16];

arr.

splice(2

,1,44

);console.

log(arr)

;//[12, 22, 44, 14, 15, 16];

下面來介紹陣列的遍歷方法:

foreach(function(item, index){});它會遍歷整個陣列,可以得到每個元素索引座標,相當於for...in...(索引)和for...of...(元素)的結合。函式沒有返回值

var arry =[1

,2,3

,4,5

,6];

arry.

foreach

(function

(item, index)

)

map(function(item,index){});它也可以遍歷陣列,拿到元素及其下標,不同的是,它可以把陣列的元素做一些操作,返回值是乙個新陣列,它不會改變原陣列。

var arry =[1

,2,3

,4,5

,6];

var newarr = arry.

map(

function

(item, index));

console.

log(newarr)

;// [2,4,6,8,10,12]

reduce(function(pre,next){});第一次執行:pre表示陣列的第乙個元素,next表示第二個元素;

第二次執行:pre表示這個方法上一次的返回值(執行結果),next表示下乙個元素(第三個);

我們可以用它做乙個累加操作:

var arry =[1

,2,3

,4,5

];var res = arry.

reduce

(function

(pre,next)

)console.

log(res)

;//15

對它可以用陣列物件相加:

var arr =[,

,]//平時做法

var total =0;

for(

var j =

0; j < arr.length; j++

) console.

log(total)

;//13297

//通過reduce方法

var data = arr.

reduce

(function

(pre, next);}

) console.

log(data)

;//

類陣列轉化為陣列的三種方式:

1.array.from();

function

getary()

console.

log(

getary(1

,3,5

,8,6

));//[1, 3, 5, 8, 6]

array.prototype.slice.call();

function

getary()

console.

log(

getary(1

,3,5

,8,6

));//[1, 3, 5, 8, 6]

[...類陣列名]
function

getary()

console.

log(

getary(1

,3,5

,8,6

));//[1, 3, 5, 8, 6]

iOS開發 如何將 Array 儲存在本地

常用的方法是這個 func writetofile path string,atomically useauxiliaryfile bool bool 然而 writetofile 這個函式卻只屬於 nsarray 假如我自定義了乙個person類來寫人,然後用陣列來儲存person物件,那麼我將把...

Array相關的屬性和方法

這裡只是做了相關的列舉,具體的使用方法,請參考 array 物件屬性 constructor 返回對建立此物件的陣列函式的引用。var test new array if test.constructor array if test.constructor boolean if test.const...

如何將json轉換為陣列

今天大年初一,首先希望看到這篇文章的所有人2018年順順利利,公升職加薪。話說過年這幾天好無聊啊,每天就是吃吃吃,因為我太宅了,初來廣東也沒有好好出去玩一玩,馬上春節小長假就結束了,還是從床上爬起來擼 比較有意義。新的一年要加油了,要更加努力,活出自己想要的人生!up up up 以上都是沒有意義的...