示例
es5和es6的擴充套件運算子區別
let arr = [1,2,3];
function add(a,b,c)
//es5
//es6
add(...arr) //6
複製陣列
let arr = [1,2,3];
//es5
let arr3 = arr.concat([4]);
//es6
let arr3 = [...arr,4];
console.log(arr2);
console.log(arr3);
合併陣列
let arr = [1,2,3];
let arr2 = [4,5,6]
//es5
let arr3 = arr.concat(arr2);
//es6
let arr4 = [...arr,...arr2];
console.log(arr3);
console.log(arr4);
這兩種
方法是淺
拷貝\color
這兩種方法是
淺拷貝如果修改了陣列的值被複製或者複製的新陣列都會一同改變
array.from()用於將偽陣列或者可遍歷的物件轉化成真正的陣列
let arr = ;//偽陣列
//es5
let newarr1=.slice.call(arr);
//es6
let newarr2 = array.from(arr);
console.log(newarr1);
console.log(newarr2);
這裡科普一下sli
ce\color
slice方法
s li
ce\color
slic
e方法用於提取陣列某個部分
定義:sli
ce(s
tart
,end
)\color
slice(
star
t,en
d)start(提取元素包含開始元素)表示提取的開始位置
end(提取元素不含結束元素)表示提取的結束的位置
這兩個值均可指定負數表示從倒數開始提取
如果兩個引數都未指定返回整個數
組\color
陣列
let arr2 = [1,2,3,4,5];
console.log(arr2.slice(1,3)); //從陣列下標1開始提取到3但是不包含3
console.log(arr2.slice(-2,-1));//從倒數第二個開始提取到 倒數第乙個 不包含倒數第乙個
console.log(arr2.slice()); //返回整個陣列
結果:
將指定陣列元素複製到其他位置
array.prototype.copywithin(target, start = 0, end = this.length)
var arr2 = [1,2,3,4,5];
console.log(arr2.copywithin(0,3)); //將 3開始的資料轉義到 從0 開始
var arr2 = [1,2,3,4,5];
console.log(arr2.copywithin(0,4,5));//從4開始到下標為5的資料 轉移到下標0的元素上
var arr2 = [1,2,3,4,5];
console.log(arr2.copywithin(-1,0,1));//將0-1下標的資料轉義到 倒數第乙個元素上
ES6陣列擴充套件
陣列建構函式的靜態方法。靜態方法 把函式當物件處理 key對應的value是函式 我們就說這個方法是靜態方法 否則就是靜態屬性 array.f 1 console.log array.f 靜態屬性 array.fn function array.fn 靜態方法array.from方法用於將兩類物件轉...
ES6 陣列的擴充套件
擴充套件運算子 spread 是三個點 它好比 rest 引數的逆運算,將乙個陣列轉為用逗號分隔的引數序列。console.log 1,2,3 console.log 1,2,3 console.log 1,2,3,4 5 轉殖陣列 const a1 1,2 寫法一 const a2 a1 寫法二 ...
ES6陣列的擴充套件
function f v,w,x,y,z const args 0,1 f 1,args,2,3 es5 的寫法 es6 的寫法 math.max 14,3,77 求最大值2 作用 求最大值 拼接陣列 複製陣列 a2複製a1,改a2不改變a1 合併陣列 將字串轉化為真正的陣列 let arrayli...