陣列方法總結

2022-03-11 23:37:47 字數 4396 閱讀 5620

上週沒事的時候把自己對陣列方面的理解做了一下總結,知識點不深,方便以後的查閱。

1.物件繼承方法

// 物件繼承方法tostring() tolocalstring() valueof()

//tostring()返回的結果是去掉陣列兩邊的"[" "]",tolocalstring()和前者相同,而valueof()返回的則是陣列本身

var arr = [1,2,3];

console.log(arr.tostring()) //1,2,3

console.log(arr.tolocalestring()) //1,2,3

console.log(arr.valueof()) //[1,2,3]

2.陣列轉換方法

//

陣列轉換方法

var arr = [1,2,3];

console.log(arr.join());

//1,2,3

console.log(arr.join(""));//

123console.log(arr.join("-"));//

1-2-3

console.log(arr.join(undefined));//

1,2,3(如果引數是undefined,標準瀏覽器返回逗號隔開的內容,ie7返回的是undefined的內容)

3.棧和佇列方法

//

棧和佇列方法 pop() push() shift() unshift()

//棧是一種lifo last-in-first-out 後進先出的資料結構。也就是說最新新增的項最早被移除。

//佇列是一種fifo first-in-first-out 先進先出。佇列在列表的末端新增項,在列表的前端刪除項。

//pop() push() shift() unshift() 都會改變陣列的長度,因此會改變原始陣列。

var a =;

console.log(a,a.push(1));//

[1],1

console.log(a,a.push('wbin'));//

[1,'wbin'],2

var d =;

console.log(d.shift())

//undefined

4.陣列排序方法

//

陣列排序方法 sort(),reverse()兩個方法都會改變原始陣列

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

console.log(arr.reverse())

//陣列反轉

console.log(arr);//

改變了原始陣列

//sort() 如果包含undefined,則會把undefined放在最後面

var arr1 = [1,undefined,2,undefined,3];

arr1.sort()

console.log(arr1)

//[1,2,3undefined,undefined];

//

陣列裡面有字串和數字比較的時候,返回nan,也就是false.所以會出現在數字前面

var arr2 = ['wbin',3,50,3];

arr2.sort(

function

(x,y)

else

if(x>y)

else

})console.log(arr2)

可以利用sort()來隨機排序乙個陣列

function

compare()

var h = [1,2,3,4,5];

console.log(h.sort(compare));

5.concat()

//

concat()方法基於當前陣列中的所有項建立乙個新陣列,先建立當前陣列乙個副本,然後將接收到的引數新增到這個副本的末尾,最後返回新構建的陣列。所以,不影響原陣列

//如果不提供引數,concat()方法返回當前陣列的乙個淺拷貝。也就是說如果陣列成員包括復合型別(比如物件),則新陣列拷貝的是該值得引用。

var i = [1,2];

var ii =i.concat();

console.log(i,ii);

i[0] = 0;

console.log(i,ii)

var j = [[1,2]];

var jj =j.concat();

console.log(j,jj);

j[0][0] = "wbin";

console.log(j,jj)

var aa =

var bb =

var r =array.prototype.concat.call(aa,bb)

console.log(r)

6.reduce()

var arr1 = [1,32,3,4,5];

//求和

var sum = arr1.reduce(function

(x,y))

console.log(sum)

//45

//帶有原始資料的求和

var sum1 = arr1.reduce(function

(x,y),-5)

console.log(sum1)

//40

//找出長度最長的陣列元素

var arr2 = ['aaa',1,222,3,'wbin'];

var findlongest = arr2.reduce(function

(pre,cur))

console.log(findlongest)

//wbin

//實現二維陣列扁平化

var matrix =[

[1,2],

[3,4],

[5,6]

]var flatten = matrix.reduce(function

(pre,cur))

console.log(flatten)

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

7. 陣列迭代方法,兩個引數,乙個是要在每一項上執行的函式和執行該函式的作用域物件

var arr2 = [1,2,3];

var r2 = arr2.map(function

(item,index,arr))

console.log(r2)

//[1,4,9]

var arr3 = ['a','b','c'];

var r3 = [1,2].map(function

(item,index,arr),arr3)

console.log(r3)

//['b','b']

//利用map方法獲得物件陣列中的特性屬性值

let arr4 =[,,

]var r4 = arr4.map(function

(item,index))

console.log(r4)

//['[email protected]','[email protected]','[email protected]']

//對字串使用該方法,返回的是乙個分開的陣列

var str = "abc";

var r5 = array.prototype.map.call(str,function

(item,index))

8.filter()

1

//filter()會跳過稀疏陣列中缺少的元素,它的返回值總是稠密的

2var arr6 = [1,,2,,,3,,,,,,4];

3var r6 = arr6.filter(function

())6 console.log(r6)//

[1,2,3,4]

9.some() 和 every()

//

some() 方法對陣列中的每一項執行給定函式,如果該函式對任一項返回true,則返回true

var arr7 = [1,2,3];

var r7 = arr7.some(function

(ele))

console.log(r7)

//true

//空陣列上呼叫some返回的是false

console.log(.some(function(){}))//

false

//every()和some相反

改變原陣列的方法有七種

四種棧和佇列方法 unshift() shift() pop() push()

兩個排序方法 reverse() sort()

乙個刪除方法 splice()

還遺漏一些其他的方法,以後補充。

陣列方法總結

js的裡面的陣列方法有很多,平時開發中常用的如foreach map filter等等,接下來是對陣列方法的一些使用和總結,方便日後查閱。var a 1,2,3,4 console.log a.join 1,2,3,4 console.log a.join 1234 console.log a.jo...

陣列方法總結

陣列方法 foreach mapfilter some every indexof lastindexof reduce reduceright splice join sort reverse push popunshift shift concat 1.foreach foreach是array...

JS陣列方法總結

1 轉換方法 tostring 返回陣列的字串表示,每個值的字串表示拼接成乙個字串,中間以逗號隔開。tolocalestring valueof var colors red blue yellow console.log colors.tolocalestring red,blue,yellow ...