日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

concat合并的数组会有顺序么_JS 数组操作 记录 笔记

發(fā)布時間:2023/12/3 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 concat合并的数组会有顺序么_JS 数组操作 记录 笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Array數(shù)組的方法

Mutator方法————"突變方法"會改變數(shù)組自身的值;Accessor方法————"訪問方法"不會改變數(shù)組自身的值;Iteration方法————"遍歷的方法" Establish方法————"創(chuàng)建新方法"

Mutator方法(會改變數(shù)組自身的值)

1、[ ].push

作用:將一個或多個元素添加到數(shù)組的末尾,

傳參:(單個或多個數(shù)組元素);

返回值:新數(shù)組的長度;

//標準用法 arr.push(el1, el2 ……elN); //合并兩個數(shù)組 [].push.apply(arr1, arr2)

2、[].pop()

作用:刪除最后一個元素,

傳參:無;

返回值:刪除的元素。

//標準用法let a = [1 ,2 ,3 ];a.pop();//3

3、[ ].unshift

作用:將一個或多個元素添加到數(shù)組的開頭,

傳參:(單個或多個數(shù)組元素);

返回值:新數(shù)組的長度;

//標準用法 arr.unshift(el1, el2 ……elN);

4、[].shift()

作用:刪除第一個元素,

傳參:無;

返回值:刪除的元素。

//標準用法let a = [1 ,2 ,3 ];a.shift();//1

5、[].reverse()

作用:數(shù)組元素顛倒位置,

傳參:無;

返回值:顛倒后的數(shù)組。

//標準用法arr.reverse()

6、[].splice()

作用:向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目,

傳參:(索引,刪除個數(shù)【選】,要添加的元素【選】);

返回值:被刪除的元素組成的一個數(shù)組。

//標準用法array.splice(start)array.splice(start, deleteCount) array.splice(start, deleteCount, item1, item2, ...)

7、[].fill()

作用:用一個固定值填充一個數(shù)組中從起始索引到終止索引內的全部元素,

傳參:(用來填充數(shù)組元素的值,起始索引【選】,終止索引【選】);

返回值:修改后的數(shù)組。

//標準用法arr.fill(value) arr.fill(value, start) arr.fill(value, start, end)//例子[1, 2, 3].fill(4) ? ? ? ? ? ?// [4, 4, 4][1, 2, 3].fill(4, 1) ? ? ? ? // [1, 4, 4][1, 2, 3].fill(4, 1, 2) ? ? ?// [1, 4, 3]

8、[].sort()

作用:對數(shù)組的元素進行排序,并返回數(shù)組,

傳參:(指定排列順序的函數(shù)【選】);

返回值:排列后的數(shù)組。

//標準用法arr.sort() arr.sort(compareFunction)//例子let numbers = [4, 2, 5, 1, 3];numbers.sort((a, b) => { ? ?return a - b;});// [1, 2, 3, 4, 5]

Accessor方法(不會改變數(shù)組自身的值)

1、[ ].join

作用:將數(shù)組(或一個類數(shù)組對象)的所有元素連接到一個字符串中。

傳參:(指定一個字符串來分隔數(shù)組的每個元素【選】);

返回值:一個所有數(shù)組元素連接的字符串;

//標準用法let a = ['Wind', 'Rain', 'Fire'];let myVar1 = a.join(); ? ? ?// myVar1的值變?yōu)?#34;Wind,Rain,Fire"let myVar2 = a.join(', '); ?// myVar2的值變?yōu)?#34;Wind, Rain, Fire"

2、[ ].concat

作用:合并兩個或多個數(shù)組。

傳參:(將數(shù)組和/或值連接成新數(shù)組【選】);

返回值:合并后的數(shù)組;

//標準用法let alpha = ['a', 'b', 'c'];let numeric = [1, 2, 3];alpha.concat(numeric);//['a', 'b', 'c', 1, 2, 3]

3、[ ].slice

作用:方法返回一個從開始到結束(不包括結束)選擇的數(shù)組的一部分淺拷貝到一個新數(shù)組。

傳參:(開始索引【選】,結束索引【選】);

返回值:截取后的數(shù)組;

//標準用法let fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];let citrus = fruits.slice(1, 3);console.info(citrus ); ? ? //['Orange','Lemon'] //類數(shù)組轉數(shù)組function list() { ? ? return [].slice.call(arguments)}let list1 = list(1, 2, 3); ? ? //[1, 2, 3] ?

4、[ ].toString

作用:返回一個字符串,表示指定的數(shù)組及其元素,

傳參:(無);

返回值:轉化成的字符串;(=[].join())

//標準用法let monthNames = ['Jan', 'Feb', 'Mar', 'Apr'];let myVar = monthNames.toString(); ? ? // assigns "Jan,Feb,Mar,Apr" to myVar.

5、[ ].includes

作用:判斷一個數(shù)組是否包含一個指定的值,

傳參:(要查找的元素);

返回值:true或 false;

//標準用法let a = [1, 2, 3];a.includes(2); // true a.includes(4); // false ?

6、[ ].indexOf

作用:在數(shù)組中可以找到一個給定元素的第一個索引,

傳參:(要查找的元素);

返回值:找不到-1,找得到索引;

let array = [2, 5, 9];array.indexOf(2); ? ? // 0array.indexOf(7); ? ? // -1

Iteration方法

1、[ ].forEach

作用:每個元素執(zhí)行一次提供的函數(shù),

傳參:(callback(當前元素,索引,該數(shù)組));

返回值:無;

//標準用法 array.forEach(callback(currentValue, index, array){ //do something}, this)

2、[ ].find

作用:返回數(shù)組中滿足提供的測試函數(shù)的第一個元素的值,

傳參:(callback(當前元素,索引,該數(shù)組));

返回值:該元素;([].findIndex()返回索引)

//標準用法 array.find(callback(currentValue, index, array){ //do something}, this)let num = [1,2,3];console.log(num.find( value => { ? ?if(value === 2){ ? ? ? ?return true; ? } ? ?return false;})); ?// 2

3、[ ].filter

作用:創(chuàng)建一個新數(shù)組, 其包含通過所提供函數(shù)實現(xiàn)的測試的所有元素,

傳參:(callback(當前元素,索引,該數(shù)組));

返回值:通過測試的元素的集合的數(shù)組;

//標準用法 let arr = array.filter(callback(currentValue, index, array){ ? ? //do something }, this)

4、[ ].map

作用:創(chuàng)建一個新數(shù)組,其結果是該數(shù)組中的每個元素都調用一個提供的函數(shù)后返回的結果。

傳參:(callback(當前元素,索引,該數(shù)組));

返回值:一個新數(shù)組,每個元素都是回調函數(shù)的結果;

//標準用法 let numbers = [1, 4, 9]; let roots = numbers.map(Math.sqrt); // roots的值為[1, 2, 3], //numbers的值仍為[1, 4, 9]

5、[ ].every

作用:測試數(shù)組的所有元素是否都通過了指定函數(shù)的測試;

傳參:(callback(當前元素,索引,該數(shù)組));

返回值:true或false;

//標準用法function isBigEnough(element, index, array) { ? ?return (element >= 10);}let passed = [12, 5, 8, 130, 44].every(isBigEnough); ? ?// passed is false ? ?passed = [12, 54, 18, 130, 44].every(isBigEnough); ? ?// passed is true

6、[ ].some

作用:測試數(shù)組的某些元素是否都通過了指定函數(shù)的測試;

傳參:(callback(當前元素,索引,該數(shù)組));

返回值:true或false;

//標準用法function isBigEnough(element, index, array) { ? ?return (element >= 10);}let passed = [1, 5, 8, 3, 4].some(isBigEnough); ? ?// passed is false ? ?passed = [2, 4, 18, 13, 4].some(isBigEnough); ? ?// passed is true

7、[ ].reduce

作用:對累加器和數(shù)組中的每個元素(從左到右)應用一個函數(shù),將其減少為單個值;

傳參:(callback(累加器accumulator,當前元素,索引,該數(shù)組));

返回值:函數(shù)累計處理的結果;

//標準用法let total = [0, 1, 2, 3].reduce((sum, value) => { ? ?return sum + value;}, 0);// total is 6let flattened = [[0, 1], [2, 3], [4, 5]];flattened.reduce((a, b) => { ? ?return a.concat(b);}, []);// flattened is [0, 1, 2, 3, 4, 5] ?

8、[ ].entries

作用:返回一個新的Array Iterator對象,該對象包含數(shù)組中每個索引的鍵/值對;

傳參:無;

返回值:一個新的 Array 迭代器對象;

? //標準用法 ? var arr = ["a", "b", "c"]; ? var iterator = arr.entries();// undefined ? console.log(iterator);// Array Iterator {} ? console.log(iterator.next().value); // [0, "a"] ? console.log(iterator.next().value); // [1, "b"] ? console.log(iterator.next().value); // [2, "c"]

9、[ ].values

作用:數(shù)組轉對象;

傳參:無;

返回值:一個新的 Array 迭代器對象;

? //標準用法 ? let arr = ['w', 'y', 'k', 'o', 'p']; ? let eArr = arr.values(); ? ?// 您的瀏覽器必須支持 for..of 循環(huán) ? // 以及 let —— 將變量作用域限定在 for 循環(huán)中 ?for (let letter of eArr) { ? ? ? console.log(letter); ? }

Establish方法(創(chuàng)建新方法)

Array.from()

該方法基于一個類數(shù)組的對象或可迭代的對象,創(chuàng)建一個新的數(shù)組實例。該方法接收一至三個參數(shù),各個參數(shù)如下:

  • 參數(shù)1是一個類數(shù)組對象或可迭代對象,方法基于該對象創(chuàng)建數(shù)組。函數(shù)的返回值將作為新數(shù)組中的每一項的值。必需的參數(shù)。
  • 參數(shù)2是一個函數(shù),數(shù)組的每一項都會調用該函數(shù)。非必需參數(shù)。
  • 參數(shù)3指定在參數(shù)2中,this所代表的對象。非必需參數(shù)。
  • 類數(shù)組對象是具有l(wèi)ength屬性并含有被編上索引的元素的對象,如NodeList對象。 可迭代對象是可以獲得其中的元素的對象,如Map和Set

    var str = "hello";Array.from(str, x => x + x); ? ? ?// ["hh", "ee", "ll", "ll", "oo"]

    上面的代碼中接收一個字符串為第一個參數(shù),接收箭頭函數(shù)作為第二個參數(shù)。在箭頭函數(shù)中,對每一項做了復制操作,然后返回得到的值,作為數(shù)組的每一項。

    Array.of()

    該方法接收一系列參數(shù),并以這些參數(shù)為項,創(chuàng)建一個數(shù)組,并返回該數(shù)組。

    var arra = Array.of("red", "green", "blue");console.log(arra); ? ? ? ? // ["red", "green", "blue"]

    該方法與構造函數(shù)Array()類似,但有一點不同。當接收到只有一個數(shù)值類型的參數(shù)時,Array()會創(chuàng)建一個數(shù)值參數(shù)指定的長度的數(shù)組,而Array.of()會將該數(shù)值作為數(shù)組中的項添加進數(shù)組。

    var arra1 = new Array(7);console.log(arra1); ? ? // [undefined × 7]var arra2 = Array.of(7);console.log(arra2); ? ? // [7]

    極地雪狼li

    極地雪狼li

    總結

    以上是生活随笔為你收集整理的concat合并的数组会有顺序么_JS 数组操作 记录 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。