es6 陣列擴充套件方法
1.擴充套件運算子
含義: 擴充套件運算子,三個點(...),將一個陣列轉為用逗號分隔的引數順序。
例如:
console.log([1,2,3]);
console.log(...[1,2,3]);
結果: [1,2,3]
1,2,3
(1)用法: 作為函式引數
function f(x,y,z) {
console.log(y);
// 1
}
let args = [0,1,2];
f(...args);
(2)用法:求陣列的最大值
Math.max(..[14,4,44]) //44
(3)應用:複製陣列
const a1 = [1,2];
const a2 = a1;
a2[0] = 2;
a1 // [2,2]
(4)應用: 合併陣列
[1,2,...more]
(5)應用:與解構賦值結合
[a,...reast] = list
(6)應用: 可以將字串轉為真正的陣列
console.log([...'hello'])
[ "h", "e", "l", "l", "o" ]
2.Array.from()
方法用於將兩個類物件轉為真正的陣列。
(1)應用:類陣列物件轉為真正的陣列
let arrayLike = {
'0':'a',
'1':'b',
'2':'c',
length:3
}
let arr = Array.from(arrayLike);
console.log(arr);
//["a", "b", "c"]
(2)應用:將字串轉為陣列
var arr = Array.from('hello');
console.log(arr);
["h", "e", "l", "l", "o"]
如果是一個真正的陣列那麼返回原陣列
Array.from 還可以接受第二個引數。
let arr = Array.from([1,2,3],(x)=> x*x);
console.log(arr);
// [1, 4, 9]
3.Array.of 方法用於將一組數值,轉為陣列
例如:
var arr = Array.of(3,11,8);
console.log(arr);
// [3, 11, 8]
4.陣列例項的 copyWithin()
陣列例項的copyWithin 方法,在當前陣列內部,將指定位置的成員複製到其他位置,
(會覆蓋原來成員),然後返回當前陣列,也就是說,使用這個方法,會修改當前陣列。
它接受三個引數:
(1)target(必需):從該位置開始替換資料。
(2)start(可選):從該位置開始讀取資料,預設為 0。如果為負值,表示倒數。
(3)end(可選):到該位置前停止讀取資料,預設等於陣列長度。如果為負值,表示倒。
5.陣列的例項的 find() 和findIndex()
陣列例項的find 方法,用於找出第一個符合條件的陣列成員,它的引數是一個回撥函
數,所有出租成員一次執行該回撥函式,直到找到的哥返回值為true的成員,然後
返回該成員,如果沒有符合條件的返回aundefined
let a = [1,4,-5,10].find((n)=> n <0)
console.log(a); // -5
let b = [1,5,10,15].find(function (value,index,arr) {
return value > 9;
})
console.log(b); // 10
findIndex 方法的用法與find 方法返回非常類似,返回第一個符合條件的陣列
成員的位置,如果所有成員不符合條件返回-1。
例如[1,5,10,15].findIndex(function(value,index,arr){
return value > 9;
})
6.陣列例項的fill()
fill 方法使用給定值,填充一個陣列;
var arr = ['a','b','c'].fill(7);
console.log(arr); // [7,7,7]
7.陣列例項的 entries(), keys() 和 values()用於遍歷陣列,他們都是返回一個遍歷器物件。
keys() 是對鍵名的遍歷,values() 是對鍵值的變數,entries() 是對鍵值對的遍歷。
for (let index of ['a','b'].keys()){
console.log(index);
}
8.陣列例項的includes()
Array.prototype.includes 方法返回一個布林值,表示某個陣列是否包含給定的值。
[1,2,3].includes(2) // true
[1,2,3,4].includes(4) //false
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2220505/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ES6之陣列的擴充套件陣列套件
- es6陣列擴充套件的學習陣列套件
- 重學ES6 陣列擴充套件(2)陣列套件
- ES6入門之陣列的擴充套件陣列套件
- 陣列的擴充套件 —— ES6基礎總結(一)陣列套件
- es6-陣列擴充套件陣列套件
- ES6 -- String 擴充套件方法解析套件
- (精華)2020年7月3日 JavaScript高階篇 ES6(陣列的擴充套件方法)JavaScript陣列套件
- ES6語法學習筆記之陣列與擴充套件運算子筆記陣列套件
- ES6物件的擴充套件及新增方法。物件套件
- PHP的SPL擴充套件庫(二)物件陣列與陣列迭代器PHP套件物件陣列
- ES6 物件的擴充套件物件套件
- es6 字串的擴充套件字串套件
- ES6之字串擴充套件字串套件
- Json擴充套件方法JSON套件
- LINQ擴充套件方法套件
- 2020-10-16(陣列方法的擴充)陣列
- C#|.net core 基礎 - 擴充套件陣列新增刪除效能最好的方法C#套件陣列
- android view 擴充套件方法AndroidView套件
- 開源 - Ideal庫 - 常用列舉擴充套件方法(一)Idea套件
- 開源 - Ideal庫 - 常用列舉擴充套件方法(二)Idea套件
- ES6之正則的擴充套件套件
- ES6之函式的擴充套件函式套件
- ES6字串的擴充套件字串套件
- es6陣列方法陣列
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- 再學Blazor——擴充套件方法Blazor套件
- 雜湊表擴充套件—點陣圖套件
- 深入理解ES6 ---- 正則擴充套件套件
- ES6入門之字串的擴充套件字串套件
- js陣列擴充套件用lamada表示式實現查詢是否存在JS陣列套件
- ES6展開運算子(擴充套件運算子)套件
- ES6各大資料型別的擴充套件大資料資料型別套件
- ES6入門之函式的擴充套件函式套件
- ES6入門之數值的擴充套件套件
- ES6入門之正則的擴充套件套件
- 重學ES6 函式的擴充套件(上)函式套件
- Java 缺失的特性:擴充套件方法Java套件