js陣列常用方法 ES5 ES6

2021-08-31 11:30:47 字數 4562 閱讀 2815

注:不改變原陣列,返回乙個新的字串

let array = ['i', 'am', 'shan', 'er'];

array.join(); //"i,am,shan,er" 預設以逗號分隔;

array.join(' '); //"i am shan er"

array.join('-'); //"i-am-shan-er"

注:改變原陣列

let array = ['i', 'am', 'shan', 'er'];

array.push('so?'); // array: ["i", "am", "shan", "er", "so?"]

array.pop(); // array: ['i', 'am', 'shan', 'er']

注:改變原陣列

let array = ['i', 'am', 'shan', 'er'];

array.unshift('hi'); // array: ["hi", "i", "am", "shan", "er"]

array.shift(); // array: ['i', 'am', 'shan', 'er']

注:改變原陣列

let array = ['i', 'am', 'shan', 'er'];

array.reverse(); // array: ["er", "shan", "am", "i"]

注:改變原陣列

let array = ['i', 'am', 'shan', 'er'];

array.sort(); // array: ["i", "am", "er", "shan"] 預設按照字母順序(ascall編碼)排序

array.sort((a, b) => ); //["shan", "am", "er", "i"]

注:不改變原陣列,返回乙個新陣列

let array = ['i', 'am', 'shan', 'er'];

let array2 = ['how', 'are', 'you'];

array.concat(array2); // array: ["i", "am", "shan", "er", "how", "are", "you"]

注:不改變原陣列,返回乙個新陣列

let array = ['i', 'am', 'shan', 'er'];

array.slice(0, 3); // ["i", "am", "shan"]

注:改變原陣列

let array = ['i', 'am', 'shan', 'er']; 

array.splice(0, 1); // ["am", "shan", "er"] 第乙個引數索引,第二個引數刪除個數

array.splice(0, 0, 'i'); //["i", "am", "shan", "er"] 第三個引數插入

注:不改變原陣列,返回乙個字串

let array = ['i', 'am', 'shan', 'er'];

array.tostring(); // "i,am,shan,er"

array.tolocalestring(); // "i,am,shan,er"

注:不改變原陣列,返回索引

let array = ['i', 'am', 'shan', 'er'];

array.indexof('am'); // 1(-1時表示查詢不到)

array.lastindexof('am'); // 1

let array = ['i', 'am', 'shan', 'er'];

array.foreach(item => console.log(item));

注:不改變原陣列,返回乙個新陣列

let array = ['i', 'am', 'shan', 'er'];

array.map(item => ); // ["new", "new", "new", "new"]

注:不改變原陣列,返回乙個新陣列

let array = ['i', 'am', 'shan', 'er'];

array.filter(item => ); // ["i", "am", "er"]

注:不改變原陣列,返回布林值/font>

let array = ['i', 'am', 'shan', 'er'];

array.some(item => ); // true

array.some(item => ); // false

注:不改變原陣列,返回布林值/font>

let array = ['i', 'am', 'shan', 'er'];

array.every(item => ); // true

array.every(item => ); // false

注:不改變原陣列/font>

let array = ['i', 'am', 'shan', 'er'];

array.reduce((prev, cur, index, array) => ,$`}); //"i,am,shan,er"

array.reduceright((prev, cur, index, array) => ,$`});//"i,am,shan,er"

let arraylike = ;

// es5的寫法

var arr1 = .slice.call(arraylike); // ['a', 'b', 'c']

// es6的寫法

let arr2 = array.from(arraylike); // ['a', 'b', 'c']

array.of() // 

array.of(undefined) // [undefined]

array.of(1) // [1]

array.of(1, 2) // [1, 2]

target(必需):從該位置開始替換資料。如果為負值,表示倒數。

start(可選):從該位置開始讀取資料,預設為 0。如果為負值,表示倒數。

end(可選):到該位置前停止讀取資料,預設等於陣列長度。如果為負值,表示倒數。

注:改變原陣列/font>

// 將3號位複製到0號位

[1, 2, 3, 4, 5].copywithin(0, 3,4); // [4, 2, 3, 4, 5]

// -2相當於3號位,-1相當於4號位

[1, 2, 3, 4, 5].copywithin(0, -2, -1); // [4, 2, 3, 4, 5]

// 將3號位複製到0號位

.copywithin.call(, 0, 3); //

[1, 4, -5, 10, -4].find((n) => n < 0); // -5

[1, 5, 10, 15].findindex((value, index, arr) => ); // 2

注:改變原陣列/font>

let array = ['i', 'am', 'shan', 'er'];

array.fill('new'); // ["new", "new", "new", "new"]

for (let index of array.keys()) 

for (let index of array.entries())

// 輸出

[0, "i"]

[1, "am"]

[2, "shan"]

[3, "er"]

for (let index of array.values())

let array = ['i', 'am', 'shan', 'er'];

array.includes('am'); // true

注:不改變原陣列

let array=[1, 2, [3, [4, 5]]];

array.flat(2); // [1, 2, 3, 4, 5]

注:不改變原陣列

// 相當於 [[2, 4], [3, 6], [4, 8]].flat()

[2, 3, 4].flatmap((x) => [x, x * 2]); // [2, 4, 3, 6, 4, 8]

// 相當於 [[[2]], [[4]], [[6]], [[8]]].flat()

[1, 2, 3, 4].flatmap(x => [[x * 2]]); // [[2], [4], [6], [8]]

es5 es6陣列去重方法

es6 陣列去重 使用indexof 可返回某個指定的字串值在字串中首次出現的位置,如果首次出現,返回 1 var arr 1 2,3 1,3 4,5 array.prototype.myinfo function return newarr var result arr.myinfo consol...

js的繼承實現(ES5,ES6)

es5 通過原型鏈實現繼承 通過原型實現繼承,最簡單的方法就是 subclass.prototype new superclass 但是這種方式有乙個弊端,就是會丟失subclass.prototype上的原有constructor constructor 屬性是建立例項物件的函式的引用,我們可以通...

es5 es6 繼承總結

一 原型鏈繼承 原型鏈繼承的原理 直接讓子類的原型物件指向父類例項,當子類例項找不到對應的屬性和方法時,就會往它的原型物件,也就是父類例項上找,從而實現對父類的屬性和方法的繼承。父類 function fat 父類上的原型方法 fat.prototype.getname function 子類 fu...