1.1.1 Array.of() 数组创建
Array.of() 将参数中所有值作为元素形成数组。
// 参数为空时返回空数组
console.log(Array.of()); // []
console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4]
// 参数值可为不同类型
console.log(Array.of(1, '2', true)); // [1, '2', true]
// 参数值上每个单元内容 可以是任何类型的数据
let c = Array.of(1,2,'小王',false,[100,200])
console.log(c)
预览:
1.1.2 Array.from()对象转化为数组
这里的对象 指的是 类数组对象或可迭代对象。
将类数组对象或可迭代对象转化为数组。
// 参数为数组,返回与原数组一样的数组
console.log(Array.from([1, 2])); // [1, 2]
//参数含空位
let c = [1,,,3]
console.log(c) // [1, empty × 2, 3]
let d = Array.from(c)
console.log(d) //[1, undefined, undefined, 3]
预览:
类数组对象
一个类数组对象必须含有 length 属性,且元素属性名 必须是 数值或者可转换为数值的字符。
let obj={
0:'a',
1:'b',
2:'c',
3:'d',
length:4
};
let arr = Array.from(obj);
console.log(arr);
预览:
let obj1={
0:'a',
1:'b',
2:'c',
3:'d',
};
let arr1 = Array.from(obj1);
console.log(arr1);
预览:
let obj2={
'0':'a',
'1':'b',
'2':'c',
'3':'d',
length:4
};
let arr2 = Array.from(obj2);
console.log(arr2);
预览:
let obj3={
a:'a',
b:'b',
c:'c',
d:'d',
length:4
};
let arr3 = Array.from(obj3);
console.log(arr3);
预览:
转换可迭代对象
可迭代对象
-
Set
-
Map
-
String
-
Array
-
Arguments
-
NodeList
转换 map
let map=new Map();
map.set('k1',100);
map.set('k2',200);
console.log(map);
//将map对象转化为数组
let arr=Array.from(map)
console.log(arr);
预览:
转换 set
let set =new Set();
set.add(100);
set.add(3.14);
set.add(100);
console.log(set);
//将set 对象转为数组
let arr1=Array.from(set)
console.log(arr1);
预览:
转换字符串
let str='小马过河';
let arr2=Array.from(str)
console.log(arr2);
预览:
1.1.3 ...扩展运算符复制数组、合并数组
...扩展运算符(展开运算符、剩余运算符)
复制数组
let a=[1,2,3];
let b=[];
b=[...a]
console.log(b);
合并数组
let c=[100];
let d=[200,300];
let e=[...c,...d];
console.log(e);
预览: