javascript
concat合并的数组会有顺序么_JS 数组操作 记录 笔记
Array數組的方法
Mutator方法————"突變方法"會改變數組自身的值;Accessor方法————"訪問方法"不會改變數組自身的值;Iteration方法————"遍歷的方法" Establish方法————"創建新方法"Mutator方法(會改變數組自身的值)
1、[ ].push
作用:將一個或多個元素添加到數組的末尾,
傳參:(單個或多個數組元素);
返回值:新數組的長度;
//標準用法 arr.push(el1, el2 ……elN); //合并兩個數組 [].push.apply(arr1, arr2)2、[].pop()
作用:刪除最后一個元素,
傳參:無;
返回值:刪除的元素。
//標準用法let a = [1 ,2 ,3 ];a.pop();//33、[ ].unshift
作用:將一個或多個元素添加到數組的開頭,
傳參:(單個或多個數組元素);
返回值:新數組的長度;
//標準用法 arr.unshift(el1, el2 ……elN);4、[].shift()
作用:刪除第一個元素,
傳參:無;
返回值:刪除的元素。
//標準用法let a = [1 ,2 ,3 ];a.shift();//15、[].reverse()
作用:數組元素顛倒位置,
傳參:無;
返回值:顛倒后的數組。
//標準用法arr.reverse()6、[].splice()
作用:向/從數組中添加/刪除項目,然后返回被刪除的項目,
傳參:(索引,刪除個數【選】,要添加的元素【選】);
返回值:被刪除的元素組成的一個數組。
//標準用法array.splice(start)array.splice(start, deleteCount) array.splice(start, deleteCount, item1, item2, ...)7、[].fill()
作用:用一個固定值填充一個數組中從起始索引到終止索引內的全部元素,
傳參:(用來填充數組元素的值,起始索引【選】,終止索引【選】);
返回值:修改后的數組。
//標準用法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()
作用:對數組的元素進行排序,并返回數組,
傳參:(指定排列順序的函數【選】);
返回值:排列后的數組。
//標準用法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方法(不會改變數組自身的值)
1、[ ].join
作用:將數組(或一個類數組對象)的所有元素連接到一個字符串中。
傳參:(指定一個字符串來分隔數組的每個元素【選】);
返回值:一個所有數組元素連接的字符串;
//標準用法let a = ['Wind', 'Rain', 'Fire'];let myVar1 = a.join(); ? ? ?// myVar1的值變為"Wind,Rain,Fire"let myVar2 = a.join(', '); ?// myVar2的值變為"Wind, Rain, Fire"2、[ ].concat
作用:合并兩個或多個數組。
傳參:(將數組和/或值連接成新數組【選】);
返回值:合并后的數組;
//標準用法let alpha = ['a', 'b', 'c'];let numeric = [1, 2, 3];alpha.concat(numeric);//['a', 'b', 'c', 1, 2, 3]3、[ ].slice
作用:方法返回一個從開始到結束(不包括結束)選擇的數組的一部分淺拷貝到一個新數組。
傳參:(開始索引【選】,結束索引【選】);
返回值:截取后的數組;
//標準用法let fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];let citrus = fruits.slice(1, 3);console.info(citrus ); ? ? //['Orange','Lemon'] //類數組轉數組function list() { ? ? return [].slice.call(arguments)}let list1 = list(1, 2, 3); ? ? //[1, 2, 3] ?4、[ ].toString
作用:返回一個字符串,表示指定的數組及其元素,
傳參:(無);
返回值:轉化成的字符串;(=[].join())
//標準用法let monthNames = ['Jan', 'Feb', 'Mar', 'Apr'];let myVar = monthNames.toString(); ? ? // assigns "Jan,Feb,Mar,Apr" to myVar.5、[ ].includes
作用:判斷一個數組是否包含一個指定的值,
傳參:(要查找的元素);
返回值:true或 false;
//標準用法let a = [1, 2, 3];a.includes(2); // true a.includes(4); // false ?6、[ ].indexOf
作用:在數組中可以找到一個給定元素的第一個索引,
傳參:(要查找的元素);
返回值:找不到-1,找得到索引;
let array = [2, 5, 9];array.indexOf(2); ? ? // 0array.indexOf(7); ? ? // -1Iteration方法
1、[ ].forEach
作用:每個元素執行一次提供的函數,
傳參:(callback(當前元素,索引,該數組));
返回值:無;
//標準用法 array.forEach(callback(currentValue, index, array){ //do something}, this)2、[ ].find
作用:返回數組中滿足提供的測試函數的第一個元素的值,
傳參:(callback(當前元素,索引,該數組));
返回值:該元素;([].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;})); ?// 23、[ ].filter
作用:創建一個新數組, 其包含通過所提供函數實現的測試的所有元素,
傳參:(callback(當前元素,索引,該數組));
返回值:通過測試的元素的集合的數組;
//標準用法 let arr = array.filter(callback(currentValue, index, array){ ? ? //do something }, this)4、[ ].map
作用:創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數后返回的結果。
傳參:(callback(當前元素,索引,該數組));
返回值:一個新數組,每個元素都是回調函數的結果;
//標準用法 let numbers = [1, 4, 9]; let roots = numbers.map(Math.sqrt); // roots的值為[1, 2, 3], //numbers的值仍為[1, 4, 9]5、[ ].every
作用:測試數組的所有元素是否都通過了指定函數的測試;
傳參:(callback(當前元素,索引,該數組));
返回值: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 true6、[ ].some
作用:測試數組的某些元素是否都通過了指定函數的測試;
傳參:(callback(當前元素,索引,該數組));
返回值: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 true7、[ ].reduce
作用:對累加器和數組中的每個元素(從左到右)應用一個函數,將其減少為單個值;
傳參:(callback(累加器accumulator,當前元素,索引,該數組));
返回值:函數累計處理的結果;
//標準用法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對象,該對象包含數組中每個索引的鍵/值對;
傳參:無;
返回值:一個新的 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
作用:數組轉對象;
傳參:無;
返回值:一個新的 Array 迭代器對象;
? //標準用法 ? let arr = ['w', 'y', 'k', 'o', 'p']; ? let eArr = arr.values(); ? ?// 您的瀏覽器必須支持 for..of 循環 ? // 以及 let —— 將變量作用域限定在 for 循環中 ?for (let letter of eArr) { ? ? ? console.log(letter); ? }Establish方法(創建新方法)
Array.from()
該方法基于一個類數組的對象或可迭代的對象,創建一個新的數組實例。該方法接收一至三個參數,各個參數如下:
類數組對象是具有length屬性并含有被編上索引的元素的對象,如NodeList對象。 可迭代對象是可以獲得其中的元素的對象,如Map和Set
var str = "hello";Array.from(str, x => x + x); ? ? ?// ["hh", "ee", "ll", "ll", "oo"]上面的代碼中接收一個字符串為第一個參數,接收箭頭函數作為第二個參數。在箭頭函數中,對每一項做了復制操作,然后返回得到的值,作為數組的每一項。
Array.of()
該方法接收一系列參數,并以這些參數為項,創建一個數組,并返回該數組。
var arra = Array.of("red", "green", "blue");console.log(arra); ? ? ? ? // ["red", "green", "blue"]該方法與構造函數Array()類似,但有一點不同。當接收到只有一個數值類型的參數時,Array()會創建一個數值參數指定的長度的數組,而Array.of()會將該數值作為數組中的項添加進數組。
var arra1 = new Array(7);console.log(arra1); ? ? // [undefined × 7]var arra2 = Array.of(7);console.log(arra2); ? ? // [7]極地雪狼li
極地雪狼li
總結
以上是生活随笔為你收集整理的concat合并的数组会有顺序么_JS 数组操作 记录 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 诡电脑 诡电脑txt
- 下一篇: 三人网名65个