(1)创建数组
使用对象方式创建数组
newArray(1, ''huihui);
使用字面量创建数组
const array = [1, 'huihui];
数组是引用类型可以使用const声明并修改它的值
const array = [1, 'huihui']; array.push('cute');
使用原型的length属性可以获取数组元素数量
const array = [1, 'huihui'];
console.log(array.length)
数组可以设置任何值,下面是使用索引添加数组
let arr = ['huihui'];
arr[1] = 18;
下面是直接设置3号数组,会将1/2索引的数组定义为undefined
let arr = ['huihui'];
arr[3] = 19; console.log(a[1]) // undefined
console.log(a[2]) // undefined
声明多个空元素的数组
let arr = newArray(3);
console.log(arr.length) // 3
console.log(arr) // [empty × 3]
(2)Array.of
使用Array.of 与 new Array 不同的是设置一个参数时不会创建一个空元素的数组
let arr = Array.of(3);
console.log(arr) // [3]
arr = Array.of(1, 2, 3);
console.log(arr); // [1, 2, 3]
(3)类型检测
console.log(Array.isArray(['huihui', 18])); // true
console.log(Array.isArray(9)) // false
2.类型转换
可以将数组转换为字符串 也可以将其他类型转换为数组
(1)字符串
使用.toString()将数组转换为字符转
console.log(([1, 2, 3]).toString()); // 1,2,3
使用函数String转换为字符串
console.log(String([1, 2, 3]))
使用join连接字符串
consoe.log([1, 2, 3].join('-')) // 1-2-3
(2)Array.from
使用Array.from可将类数组转化为数组 类数组指包含length属性或可迭代的对象
let str = '张小慧'; console.log(Array.from(str)) // ["张", "小", "慧"]
为对象设置length属性后也可以转化为数组,但要下标为数值或数值字符串
let str = { 0: 'zxh', '1': 18, length: 2 };
console.log(Array.from(str)); //["zxh", 18]
3.展开语法
(1)数组合并
使用展开语法合来合并数组要比concat更加简单,使用...可将数组展开为多个值
let a = [1, 2, 3];
let b = ['a', ...a];
console.log(b) // ['a', 1, 2, 3]
(2)函数参数
使用展开语法可替代arguments来接收任意数量的参数。
lethd(...args){ console.log(args); }
hd(1, 2, 3); // [1, 2, 3]
使用展开语法也可用于接收部分参数
lethd(name, ...args){ console.log(args); } hd("huihui", 1, 2, 3); // [1, 2, 3]
4.解构赋值
解构是一种更简单的赋值特性,可以理解为分解一个数据的结构
(1)基本使用
let [name, age] = ['huihui', 19];
console.log(name, age) // huihui 19
结构赋值数组
functiontest() { return ['huihui', 19] }
let [name, age] = test();
console.log(name, age) // huihui 19
剩余解构指用一个变量来接收剩余参数
let [a, ...b] = ['test', 1, 2, 3, 4];
console.log(b) // [1, 2, 3, 4]
字符串解构
const [...test] = 'zhangxiaohui';
console.log(test); // ["z", "h", "a", "n", "g", "x", "i", "a", "o", "h", "u", "i"]
(2)简洁定义
只赋值部分变量
let [, age] = ['huihui', 18];
console.log(age) // 18
使用展开语法获取多个值
let [name, ...arr] = ['huihui', 1, 2, 3, 4, 5];
console.log(name); // huihui
console.log(arr); // [1, 2, 3, 4, 5]
(3)默认值
为变量设置默认值
let [name, age = 18] = ['huihui'];
console.log(age); // 18
(4)函数参数
函数参数的使用
functiontest([a, b]) { console.log(a, b) }
test(['huihui', 18])
---- 未完待续