08对象拓展-es6
# 对象拓展
//Object.is() 判断两个值是否相等
console.log(Object.is('foo', 'foo'))//true
console.log(Object.is({}, {}))//false
//Object.assign() 用于对象的合并
let obj = {name:"小明"}
let obj2 = {age:18}
console.log(Object.assign(obj,obj2))//{name:"小明",age:18}
let obj = {name:"小明"}
let obj2 = {name:"小红"}
console.log(Object.assign(obj,obj2))//小红
//对键名的遍历和对键名的遍历
let obj = {name:"小明",age:18,sex:"男"}
console.log(Object.keys(obj))//['name', 'age', 'sex']
console.log(Object.values(obj))//['小明', 18, '男']
//entries() 对键值对的遍历
let obj = {name:"小明",age:18,sex:"男"}
console.log(Object.keys(obj))//['name', 'age', 'sex']
console.log(Object.values(obj))//['name', 'age', 'sex']
console.log(Object.entries(obj))//[['name', '小明'], ['age', 18], ['sex', '男']]
let newArr = Object.entries(obj)
console.log(newArr)
console.log(newArr.flat(1))//["name","小明","age",18,"sex","男"]
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
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
[!cogs]
%accordion% Object.is() 判断两个值是否相等 %accordion%
console.log(Object.is("hello","world")); //true
let str="hello"
let str2="hello"
console.log(str==str2); //true
// 对象不能同时出现两个不然会报错
let str ={name:"张三"}
let str2 ={name:"张三"}
console.log(str==str2); //false
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
%/accordion%
%accordion% Object.assign() 用于对象的合并🚀 %accordion%
//Object.assign() 用于对象的合并 ✨
let obj = { name: "张三" }
let obj2 = { age: 18 }
console.log(Object.assign(obj, obj2)); //{ name: "张三", age: 18 }
console.log({ ...obj, ...obj2 }); //{ name: "张三", age: 18 }
1
2
3
4
5
2
3
4
5
%/accordion%
%accordion% 对键名的遍历和对键名的遍历 %accordion%
let obj = { name: "张三", age: 18 }
let arr = Object.keys(obj)
console.log(arr);//["name", "age"]
let arr = Object.values(obj)
console.log(arr);//["张三", 18]
let arr = Object.entries(obj)
console.log(arr.flat(1)); //["name", "张三", "age", 18]
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
%/accordion%
编辑 (opens new window)
上次更新: 2022/04/24, 13:33:34