es6新屬性陣列和物件的擴充套件運算子

2021-10-24 01:21:46 字數 2087 閱讀 2003

(1)這裡的…相當於object.assign()方法

let obj =

let copy =

console.

log(copy)

////等價於assign方法:

//引數1:被賦值的物件(目標物件),引數2:要賦值的物件(源物件)

let obj1 = object.

assign

(,obj)

console.

log(obj1)

//

(2)…進行的是對屬性的深拷貝,修改拷貝後的物件不會影響源物件

let obj =

let copy =

copy.b =

3console.

log(copy)

//console.

log(obj)

//

(3)屬性合併覆蓋

let obj =

let cover =

}console.

log(cover)

//

(4)特殊例子----沒有對物件裡的物件進行深拷貝

let exobj =

}let expecail =

expecail.c.ctext =

'change'

console.

log(expecail)

// }

console.

log(exobj)

// }

(1)陣列轉化為引數序列

//陣列轉化為引數序列[1,2]--->1,2

let arr =[1

,2];

function

add(a, b)

let result =

add(

...arr)

console.

log(result)

//3

(2)陣列深拷貝

let arr =[1

,2]let arr2 =

[...arr]

console.

log(arr2)

//[1,2]

(3)陣列解構+…運算子

…運算字段只能放在末尾,不能放在開頭和中間

let

[first, second,

...res]=[

1,2,

3,4,

5,6]

// let [first, ...res, second] = [1, 2, 3, 4, 5, 6]//報錯

// let [...res,first, second] = [1, 2, 3, 4, 5, 6]//報錯

console.

log(first)

//1console.

log(second)

//2console.

log(res)

//[3,4,5,6]

(4) 將字串轉化為陣列

let str =

[...

'hello'

]console.

log(str)

//[ 'h', 'e', 'l', 'l', 'o' ]

(5)將資料結構轉化為陣列

//map資料結構

let map =

newmap([

['c',3

],['d',4

]])console.

log(

[...map.

values()

]);//[ 3, 4 ]

//set資料結構

letset

=new

set([1

,2,3

,4])

console.

log(

[...

set]);

//[1, 2, 3, 4]

Es6陣列擴充套件

示例 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 ar...

ES6陣列擴充套件

陣列建構函式的靜態方法。靜態方法 把函式當物件處理 key對應的value是函式 我們就說這個方法是靜態方法 否則就是靜態屬性 array.f 1 console.log array.f 靜態屬性 array.fn function array.fn 靜態方法array.from方法用於將兩類物件轉...

ES6 陣列和物件

先列乙個要學習內容的大綱,慢慢補齊。es5 中新增的方法 forwhile arr.foreach 迴圈遍歷陣列中的每一位 arr.map 迴圈遍歷陣列中的每一位,並返回乙個新陣列 arr.filter 迴圈遍歷陣列中的每一位,並過濾一些不合要求的元素。arr.some 查詢陣列中符合條件的元素,返...