<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body></body>
</html>
<script>
// ES5新增的数组的方法
// forEach(无return),map,filter,every,reduce
// Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象
// Array.of 把一组值转成数组 用于代替new Array(7, 8, 9) 创建数组
// // new Array() // 传一个参数是空数组 传两个及两个以上是数组
// find: 找到满足的值
// findIndex:找到当前满足条件值的索引值
// 两者都是找到就返回
// includes() 判断数组中是不是包含某一个值
// 数组的扩展运算符 (...) 可以把数组展开成用逗号隔开的一组值:展开参数、复制数组
// function sum() {
// console.log(arguments);
// // ES5中转为真数组
// console.log([].slice.call(arguments)); // [1, 2]
// // ES6
// console.log(Array.from(arguments)); // [1, 2]
// }
// sum(1, 2);
// console.log(Array.of(7, 8, 9)); // [7, 8, 9]
// let arr = [1, 5, 3, 4];
// let number = arr.find((item, index) => {
// return item > 1;
// });
// console.log(number); // 5
// let arr = [1, 5, 3, 4];
// let index = arr.findIndex((item, index) => {
// return item > 1;
// });
// console.log(index); // 1
// 拿到数组的值
// let arr = [1, 5, 3, 4];
// for (let v of arr.values()) {
// console.log(v); // 1 5 3 4
// }
// 拿到索引值
// let arr = [1, 5, 3, 4];
// for (let v of arr.keys()) {
// console.log(v); // 0 1 2 3
// }
// 获取数组索引与其值 组成新数组
// let arr = ["a", "aa", "aaa", "aaaa"];
// for (let v of arr.entries()) {
// console.log(v);
// }
// arr.includes(5) // true
// let arr1 = ["hello", "world", "你好", "世界"];
// let arr2 = arr1; // arr2和arr1是同一个地址
// 合并数组 复制数组:...arr1 把数组展开成用逗号隔开的一组值
// let arr1 = [1, 2, 3];
// let arr2 = ["haha", ...arr1, "哈哈哈"]; // 拷贝数组, 引申出合并数组 arr2和arr1不是同一个地址
// console.log(arr2); // (5) ["haha", 1, 2, 3, "哈哈哈"]
// 函数中展开参数(实参)
// function count(a, b) {
// // 假设 arguments = [...[1, 2]]
// // 相当于 let [a, b] = [...[1, 2]]
// return a + b;
// }
// console.log(count(...[1, 2])); // 3
// let arr = [1, 5, 3, 4];
// console.log(Math.max.apply(null, arr)); // 5
// console.log(Math.max.call(null, 1, 5, 2, 3, 4)); // 5
// console.log(Math.max.call(null, ...arr)); // 5
// console.log(Math.max(...arr)); // 5 求一组值中最大的 Math.max() ⟺ Math.max.call(null, ...arr)
// 与解构赋值合并 ...info 把用逗号隔开的一组值重新组成数组 且只能用在数组最后 无别名 有顺序 用=指定默认值
// let [name, ...info] = arr1;
// console.log(name, info);
// 总结: ...用于数组内展开数组、展开参数、解构赋值
// Set构造函数 类似Array 成员的值都是唯一的, 没有重复 可以接受数组为参数 用于数组去重
// var arr = [1, 2, 3, 4, 4, 4, 5, 3, 2, 1];
// var [...arr] = new Set(arr);
// console.log(arr); // (5) [1, 2, 3, 4, 5]
// 简写:
// var arr = [...new Set([1, 2, 3, 3, 4, 3, 3, 5])];
// console.log(arr); // [1, 2, 3, 4, 5]
</script>
网友评论