(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 查詢陣列中符合條件的元素,返...