知识点

整理一些基础知识 记忆

JS

es6 - set

es6中的set主要是作用是一是对数组去重,set的将数组去重实例化 ,二是对数组交集 合并、差集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var arr = ['a','b',1,2,1,3];
var newarr = new Set(arr);
console.log(newarr) //输出 {"a", "b", 1, 2, 3}

let arr1 = [1, 2, 3]
let arr2 = [1, 3, 4]
let arr4 = new Set(arr2)
let arr3 = new Set([...arr1].filter(item => {
return arr4.has(item)
}))
console.log(arr3); //输出 {1, 3,}

let arr1 = [1, 2, 3]
let arr2 = [1, 3, 4]
let arr4 = new Set(arr2)
let arr3 = new Set([...arr1].filter(item => {
return !arr4.has(item)
}))
console.log(arr3); //输出 {2}

es6 - 展开运算符

展开运算符,将一个数组转为用逗号分隔的参数系列 —— 更快、更便捷的操作数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
合并数组
let a = [1,2,3];
let b = [4,5,6];
let c = [...a, ...b]; // [1,2,3,4,5,6]

解构赋值
let a = [1,2,3,4,5,6]
let [c,...d] = a
console.log(c) // 1
console.log(d) // [2,3,4,5,6]
// 展开运算符必须放在最后一位

作为参数
function addNumbers(...numbers){
return numbers.reduce((sum,number) => {
return sum + number
},0)
}
console.log(addNumbers(1,2,3,4,5)); //15

浅拷贝
//数组
var a = [1,2,4]
var b = [...a]
a.push(6)
console.log(b) // [1,2,4]
//对象
var a = {a:1}
var b = {...a}
a.a = 5
console.log(b.a) // 1

练习
function shoppingList(...items){
if(items.indexOf('milk') < 0){
return [milk,...items]
}
return items
}
console.log(shoppingList("meat","orange","bread")) // ["milk","meat","orange","bread"]