//1.Array.from()将类数组结构转为真正的数组
/* var arr=[1,2,3];
var obj={
0:'hello',
1:18,
length:2
}
var newArr=Array.from(obj);
console.log(newArr); */
//2.Array.of()将一组数转为数组
/* var newArr = Array.of(1,2,3,4,5);
var arr = new Array(3).fill(9); // 表示数组中有3个值,fill用来填充内容
console.log(newArr);
console.log(arr); */
//3.copyWithin(target[,start,end])用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。
/* var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,];
var newArr=arr.copyWithin(9,5,10);//9为从何处修改,5是要覆盖的值从下标5开始,10是覆盖的值从下标10结束;
console.log(newArr) */
//4.find//类似于map、fillter
//5.keys()
//keys() 键 遍历出每个键
//values() 值 遍历出每个值
/* var arr = ['张三', 18, 'zzq2102', '男', '计算机'];
for(let key of arr.keys()){
console.log(key);
}
for(let key of arr.values()){
console.log(key);
} */
// 获取对象中的键和值,也可以使用keys和values;
/* var obj = {name:'张三',age:18,class:'zzq2102',sex:'男',major:'计算机'};
for (const key of Object.keys(obj)) {
console.log(key);
} */
//6.entries() 遍历每对键值对
/* var arr = ['张三', 18, 'zzq2102', '男', '计算机'];
for (let key of arr.entries()) {
console.log(key);
}
var obj = { name: '张三', age: 18, class: 'zzq2102', sex: '男', major: '计算机' };
for (const [key, val] of Object.entries(obj)) {
console.log(key, val)
} */
//遍历对象的每对键值对
//8.Object.assign(target, ...sources)
var obj1 = { name: 'jack', leader: 10000 };
var obj2 = { age: 18, name: 'rose' };
var obj3 = { sex: '男', name: 'bob' };
var newObj = Object.assign(obj1, obj2, obj3)
console.log(newObj)
//将所有的键整合,然后最后面的数据覆盖前面的数据,如果后面的对象没有该键则不覆盖;
//原始类型会被包装,null和undefined会被忽略.
//注意,只有字符串的包装对象才可能有自身的可枚举属性
var source1 = "abc";
var source2 = true;
var source3 = 10;
var result = Object.assign(source2, source1, source3);
console.log(result);