ES5、ES6自学笔记(11)


方法还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组 。
let sz2 = Array.from(wsz, item => item * 2);console.log(sz2);
Array.find()
用于找出第一个符合条件的数组成员,如果没有找到返回
let arr = [{id : 1,name : "zhangsan"},{id : 2,name : "lisi"}]let res1 = arr.find(item => item.id == 2);let res2 = arr.find(item => item.id == 3);console.log(res1);// id: 2 name: "lisi"console.log(res2);// undefined
Array.()
用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
// 用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1let arr = [1, 3, 4, 5, 7, 10];let index = arr.findIndex(item => item > 6);console.log(index);// 4
Array.()
表示某个数组是否包含给定的值,返回布尔值 。
// 表示某个数组是否包含给定的值,返回布尔值 。let arr = [0, 1, 3];console.log(arr.includes(2));// falseconsole.log(arr.includes(1));// true
扩展方法
let str1 = "Hello world !";// startsWith():表示参数字符串是否在原字符串的头部,返回布尔值console.log(str1.startsWith("Hello"));// true// endsWith():表示参数字符串是否在原字符串的尾部,返回布尔值console.log(str1.endsWith("!"));// true// repeat():表示将原字符串重复n次,返回一个新字符串 。let str2 = str1.repeat(2);console.log(str2);// Hello world !Hello world !
模板字符串
ES6新增的创建字符串的方式,使用反引号定义 。
let name = `zhangsan`;
模板字符串中可以解析变量 。
let name = `张三`;let sayHello = `Hello, 我的名字叫${name}`;console.log(sayHello);
模板字符串中可以换行
let result = {name: "zhangsan",age: 20};let html = `${result.name}${result.age}`;console.log(html);
在模板字符串中可以调用函数 。
const fn = () => {return '我是fn函数'}let html = `我是模板字符串 ${fn()}`;console.log(html)
Set数据结构
ES6 提供了新的数据结构 Set 。它类似于数组,但是成员的值都是唯一的,没有重复的值 。
创建:
Set本身是一个构造函数,用来生成 Set 数据结构 。
let set1 = new Set();
Set函数可以接受一个数组作为参数,用来初始化 。
let set2 = new Set([1, 2, 3, 4]);
// 利用set的数据解构实现数组去重let arr1 = [1, 2, 3, 4, 5, 5, 6, 4, 2, 1];let set3 = new Set([...arr1]);console.log(set3);// 将set数据解构转换成数组let arr2 = [...set3];console.log(arr2);
常用方法:
const set4 = new Set();// 向set结构中添加值 使用add方法set4.add('a').add('b');console.log(set4.size)// 从set结构中删除值 用到的方法是deleteconst r1 = set4.delete('c');console.log(set4.size)console.log(r1);// 判断某一个值是否是set数据结构中的成员 使用hasconst r2 = set4.has('d');console.log(r2)// 清空set数据结构中的值 使用clear方法set4.clear();console.log(set4.size);
遍历: