ES6语法新特性(下)

news/2024/10/21 5:35:35/

7. set

Set 是 ES6 提供的一种数据结构,它和数组很像,但是它里面的数据是不可重复的。

7.1.1 初始化

const set1 = new Set([1, 2, 3, 4, 5, 5]);
const set2 = new Set(['苹果','橘子','橘子']);
console.log(set1);
console.log(set2);
/*
控制台输出:
{1,2,3,4,5}
{'苹果','橘子'}
*/

7.1.2 添加数据

const set = new Set([1, 2, 3, 4, 5,5]);
set.add(7);
console.log(set);
/*
控制台输出:
{1,2,3,4,5,6}
*/

7.1.3 删除数据

const set = new Set([1, 2, 3, 4, 5,5]);
set.delete(3);
console.log(set);
/*
控制台输出:
{1,2,4,5}
*/

7.1.4 包含数据

const set = new Set([1, 2, 3, 4, 5,5]);
const res = set.has(1);
console.log(res);
/*
控制台输出:
true
*/

7.1.5 清空集合set中的所有数据

const set = new Set([1, 2, 3, 4, 5,5]);
set.clear();

8.数组操作

8.1.1 合并数组

let u1 = ['张三', '李四', '王五'];
let u2 = ['张无忌', '赵敏', '周芷若'];
let u3 = [...u1,...u2];
console.log(u3);/*
控制台输出:
['张三', '李四', '王五','张无忌', '赵敏', '周芷若']
*/

8.1.2 includes()

//includes 用来判断该数组是否包含某个值,返回值是布尔值
let users = ['张三','李四'];
let res = users.includes('张三');
console.log(res);
//控制台输出:true

8.1.3 find()

//find 用来找到第一个符合条件的成员,没有找到返回 undefined
let users = [{ name: '张三', age: 18 }, { name: '李四', age: 20 }];
let user = users.find((item, index) =>item.age > 18
)
console.log(user);
/*
控制台输出
{name:'李四',age:20}
*/

8.1.4 findIndex()

//findIndex 用来找到第一个符合条件的成员的索引,没有的话返回 -1
let users = [{ name: '张三', age: 18 }, { name: '李四', age: 20 }];
let index = users.findIndex((item, index) =>item.age > 18
)
console.log(index)
//控制台输出:1

8.1.5 filter()

//filter 用来返回一个满足条件的新数组,不满足条件返回空数组
let users = [{ name: '张三', age: 18 }, { name: '李四', age: 20 }];
let array = users.filter((item, index) =>item.age > 21
)
console.log(array);
//控制台输出:Array(0)

8.1.6 map()

//map 用来返回一个对成员进行加工之后的新数组
let users = [{ name: '张三', age: 18 }, { name: '李四', age: 20 }];
let array = users.map((item, index) => {item.name += "666";item.age += 10;return item;
})
console.log(array);
/*
控制台输出:
0:{name:'张三666',age:28}
1:{name:'李四666',age:30}
*/

9. 字符串扩展方法

模板字符串是 ES6 新增加的创建字符串的方式

9.1 startsWith() 和 endsWith()

9.1.1 startsWith()

//表示该字符串参数是否在某个字符串头部
let message = "helloworld";
let res = message.startsWith("hello");
console.log(res);
//控制台输出:true

9.1.2endsWith()

//表示该字符串参数是否在某个字符串尾部
let message = "helloworld";
let res = message.endsWith("ww");
console.log(res);
//控制台输出:false

9.2 模板字符串

9.2.1 定义

模板字符串是 ES6 新增加的创建字符串的方式

定义方式:反引号

 let country = `中国`;

9.2.2 解析变量

let country = `world`;
let message = `hello ${country}`;
console.log(message);
//控制台输出:hello world

9.2.3 调用函数

const print = message=>message+",2022-04-25";
let message = `${print('hello world!')}`;
console.log(message);
// 控制台输出: hello world! 2022-04-25

http://www.ppmy.cn/news/96545.html

相关文章

【华为OD机试】投骰子【2023 B卷|200分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 骰子是一个立方体,每个面一个数字,初始为左1,右2,前3(观察者方向),后4,上5,下6, 用123456表示这个状态,放置在平面上, 可以向左翻转(用L表示向左翻转1次), 可以向右翻转(用…

ARM嵌入式编程优化之在C/C++中栈的使用

文章目录 Stack的使用场景如何确定stack空间的使用情况检查栈使用情况减少栈使用的方法 Stack的使用场景 栈在C/C中使用得非常频繁,比如,栈中可以保存: 在调用函数时,保存函数的返回地址。保存一些寄存器的值,这取决…

【BA无标度网络(无限规模)的传播阈值推导过程】

在BA无标度网络中,每个节点的度数是随机增长的,遵循幂律分布。假设节点 v v v的度数为 k v k_v kv​,则节点 v v v将以概率 p k v ∑ k k P ( k ) p\frac{k_v}{\sum_{k} kP(k)} p∑k​kP(k)kv​​选择与之相连的邻居节点,其中 ∑…

Java 的 String、StringBuffer 和 StringBuilder(一文讲透)

提到 String、StringBuffer 和 StringBuilder,就不得不谈及它们的历史,在了解它们的历史之后,我们对它们的理解将更上一级台阶! 发展历史 String 与 StringBuffer 的出现 String 和 StringBuffer 在 Java1.0 中就已经有了&…

如何在华为OD机试中获得满分?Java实现【贪心的商人】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

MySQL常见面试题

参考:程序员大斌、javauide、小林coding 1.事务是什么? 由多个操作组成的一个逻辑单元,逻辑单元的多个操作要么同时成功,要么同时失败。 2.事务的四大特性 原子性:一个事务内的操作统一成功或失败 一致性:一个事务执行之前和执行之后都必须处于一致性状态(两人转账…

C++四种类型转化

文章目录 static_castconst_castreinterpret_cast(重新解释)dynamic_caststatic_cast 该运算符把expression转化为type_name类型,static_cast在编译时使用类型信息执行转换,在转换执行必要时的检测(如指针越界,类型检查),但没有运行时类型检查来保证转换的安全性 用于基…

Fedora安装并配置开启SSH服务相关命令

Ubuntu参考我这篇:虚拟机里安装ubuntu-23.04-beta-desktop-amd64,开启SSH(换源、备份),配置中文以及中文输入法等 一、过程 1、检测是否安装了openssh-server $ rpm -qa | grep openssh-serveropenssh-server-7.9p1-5.fc30.x86_642、如果上…