注:不改變原陣列,返回乙個新的字串
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...