5.4 数组
数组的 length 是最大索引+1
清空数组最简单的方法就是:arr.length = 0
push 和 unshift 都接受多个参数: arr.push(1, 2, 3, 4)
5.5 数组方法
forEach 和 map 都不会改变数组本身
5.6 可迭代对象
可以应用 for..of 的对象被称为 可迭代的。
Array.from(obj[, mapFn, thisArg]) 将可迭代对象或类数组对象 obj 转化为真正的数组 Array,然后我们就可以对它应用数组的方法。可选参数 mapFn 和 thisArg 允许我们将函数应用到每个元素。
数组去重
function unique(arr) {
// return [...new Set(arr)]
return Array.from(new Set(arr));
}
5.9 解构赋值
let user = "mark tuwen";
let [firstName, secondName] = user.split(" ");
// 循环
for (let [key, value] of Object.entries(user)) {
alert(`${key}:${value}`); // name:John, then age:30
}
// 交换两个变量的值
let guest = "Jane";
let admin = "Pete";
[guest, admin] = [admin, guest];
// 对象解构,属性名要对应
let {prop : varName = default, ...rest} = object
// 数组解构,位置要对应
let [item1 = default, item2, ...rest] = array