ES6中字符串的扩展
字符串的遍历器接口
使用for…of
for(let x of 'foo') {console.log(x);
}
// 'f'; 'o'; 'o'
at()
ES5中的charAt()方法,返回字符串给定位置的字符。但是不能识别码点大于0xFFFF的字符,at方法可以
includes()、startsWith()、endsWith()
用来确定一个字符串是否包含另一个字符串
有两个参数,第一个参数是要检测的字符串,第二个是从那个位置开始,第二个参数可以不用传
includes()
:返回布尔值,表示是否查找到该字符串
startsWith()
:返回布尔值,表示参数字符串是否在源字符串的头部
endWith()
:返回布尔值,表示参数字符串是否在源字符串的尾部
const str = 'hello world';str.includes('h'); // true
str.startsWith('h'); // true
str.startsWith('e'); // false
str.startsWith('l', 2); // true 从下标2开始查询
str.endsWith('e'); // false
str.endsWith('d'); // true
repeat()
将一个字符串复制n次,返回一个新字符串。
'x'.repeat(2); // xx
如果是小数会取整
如果是负数或者Infinity会报错
如果是0 - 1之间的小数,则等于0。
参数NaN等于0,要是0的话返回值就是一个空字符。
如果参数是字符串或者其他,则会先转为数字,如果转化不成功,返回值就是空字符。
padStart()、padEnd()
用于补全字符串的长度,如果一个字符串的长度不够,会在头部和尾部进行补全。
接受两个参数
- 指定字符串的长度
- 用来补全的字符串
'x'.padEnd(3, 'abcd'); // 'xab'
'x'.padStart(3, 'abcd'); // 'ab3'
如果补全的字符串和原字符长度和大于指定的长度,则补全的字符串会自动被截取掉。
如果省略第二个参数,会用空格来代替。
模板字符串
在传统输出模板字符串,比如拼接字符串,都使用+符号,这个写法不方便。
ES6中的模板字符串使用反引号(`)标识,如果其中有变量,则使用${}符号
// 之前的
'x' + '12' // 'x12'// 现在
`x12` // 'x12'
const a = 'bc';
`x${a}12` // 'xbc12'
若在模板字符串中使用反引号,需要在使用前先转义。
在模板字符串表示多行时,其中的空格和换行都会保留,如果不想换行可以使用trim方法。
大括号中可以放变量、表达式、进行运算、引用对象属性、还能调用函数。
如果大括号内的值不是字符串,则会转化成字符串,再进行输出。
如果大括号内就是一个字符串,会直接输出。
标签模板
可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串,被称为标签模板。
标签模板其实是函数调用的一种特殊形式,标签指的是函数,模板字符串就是函数的参数。
alert`123`;
// 等同于
alert(123);
当模板字符串中有变量或者表达式时,会将函数参数进行分割,以字符串(数组形式),计算后的值从左到右排列
var a = 5;
var b = 10;
tag`Hello ${a + b} world ${a *b}`;
// 等同于
tag(['Hello' , ' world', ''], 15, 50);
还有一个重要作用是过滤HTML字符串,防止用户输入恶意内容
String.raw()
用来充电模板字符串的处理函数,返回一个反斜线都被转义(即反斜线前面再加一个反斜线)的字符串,对应于替换变量后的模板字符串。
相关文章:
ES6中字符串的扩展
字符串的遍历器接口 使用for…of for(let x of foo) {console.log(x); } // f; o; oat() ES5中的charAt()方法,返回字符串给定位置的字符。但是不能识别码点大于0xFFFF的字符,at方法可以 includes()、startsWith()、endsWith() 用来确定一个字符串是…...
GEO生信数据挖掘(四)数据清洗(离群值处理、低表达基因、归一化、log2处理)
检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 离群值处理 删除 低表达基因 函数归一化,矫正差异 数据标准化—log2处理 完整代码 上节围绕着探针ID和基因名称做了一些清洗工作,还做了重复值检查…...
CI/CD工具中的CI和CD的含义
CI/CD工具中的CI和CD的含义? CI/CD 是现代软件开发方法中广泛使用的一种方法。其中,CI 代表持续集成(Continuous Integration),CD 则有两层含义,一是持续交付(Continuous Delivery)…...
用go获取IPv4地址,WLAN的IPv4地址,本机公网IP地址详解
文章目录 获取IPv4地址获取WLAN的IPv4地址获取本机公网IP地址 获取IPv4地址 下面的代码会打印出本机所有的IPv4地址。这个方法可能会返回多个IP地址,因为一台机器可能有多个网络接口,每个接口可能有一个或多个IP地址。 package mainimport ("fmt&…...
Android自定义Drawable---灵活多变的矩形背景
Android自定义Drawable—灵活多变的矩形背景 在安卓开发中,我们通常需要为不同的按钮设置不同的背景以实现不同的效果,有时还需要这些按钮根据实际情况进行变化。如果采用编写resource中xml文件的形式,就需要重复定义许多只有微小变动的资源…...
ParagonNTFSforMac_15.5.102中文版最受欢迎的NTFS硬盘格式读取工具
Paragon NTFS for Mac是一款可以为您轻松解决Mac平台上不能识别Windows通用的NTFS文件难题,这是一款强大的Mac读写工具,相信在很多时候,Mac用户需要对NTFS文件的移动硬盘进行写入,但是macOS系统默认是不让写入的,使用小…...
Kafka 搭建过程
目录 1.关于Kafka2.Kafka 搭建过程3.参考 本文主要介绍Kafka基本原理,以及搭建过程。 1.关于Kafka Apache Kafka是一个开源的分布式事件流平台,被设计用来实现实时数据流的发布、订阅、存储和处理。 Kafka的主要特性包括: 高吞吐量&#x…...
七、2023.10.1.Linux(一).7
文章目录 1、 Linux中查看进程运行状态的指令、查看内存使用情况的指令、tar解压文件的参数。2、文件权限怎么修改?3、说说常用的Linux命令?4、说说如何以root权限运行某个程序?5、 说说软链接和硬链接的区别?6、说说静态库和动态…...
一文教你搞懂Redis集群
一、Redis主从 1.1、搭建主从架构 单节点的Redis的并发能力是有上限的,要进一步的提高Redis的并发能力,据需要大家主从集群,实现读写分离。 共包含三个实例,由于资源有限,所以在一台虚拟机上,开启多个red…...
树上启发式合并 待补
对于每个子树,直接遍历所有轻儿子,继承重儿子 会了板子后,修改维护的东西和莫队是一样的 洛谷 U41492 #include <bits/stdc.h> #define ll long long #define ull unsigned long long constexpr int N1e55; std::vector<int> e…...
minio分布式文件存储
基本介绍 什么是 MinIO MinIO 是一款基于 Go 语言的高性能、可扩展、云原生支持、操作简单、开源的分布式对象存储产品。基于 Apache License v2.0 开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应…...
Linux新的IO模型io_uring
一、Linux下的网络通信模型 在网络开发的过程中,需要处理好几个问题。首先是通信的内核支持问题;其次是通信的模型问题;最后是框架问题。这些问题在闭源的OS如Windows上,基本上不算什么大问题(因为只能用人家的API&am…...
FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍
FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍 FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍FFmpeg 简介FFmpeg 基础知识复用与解复用编解码器码率和帧率 资料 FFmpeg 命令:从入门到精通 | FFmpeg 基本介绍 本系列文章要解决的问题࿱…...
数组篇 第一题:删除排序数组中的重复项
更多精彩内容请关注微信公众号:听潮庭。 第一题:删除排序数组中的重复项 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应…...
堆的初步认识
在学习本节文章前要先了解:大顶堆与小顶堆: (优先级队列_加瓦不加班的博客-CSDN博客) 堆实现 计算机科学中,堆是一种基于树的数据结构,通常用完全二叉树实现。 什么叫完全二叉树? 答&#x…...
CycleGAN模型之Pytorch实战
一、CycleGAN基本介绍 1. CycleGAN论文:《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》 2. 原文代码:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 3. 网传精简代码:https://github.com/aitorzip/PyTorch-CycleGAN …...
C++(STL容器适配器)
前言: 适配器也称配接器(adapters)在STL组件的灵活组合运用功能上,扮演着轴承、转换器的角色。 《Design Patterns》对adapter的定义如下:将一个class的接口转换为另一个class的接口,使原本因接口不兼容而…...
软考 系统架构设计师系列知识点之软件架构风格(7)
接前一篇文章:软考 系统架构设计师系列知识点之软件架构风格(6) 这个十一注定是一个不能放松、保持“紧”的十一。由于报名了全国计算机技术与软件专业技术资格(水平)考试,11月4号就要考试,因此…...
【Vue3】自定义指令
除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (Custom Directives)。 1. 生命周期钩子函数 一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。 在 <script …...
UG\NX CAM二次开发 加工模块获取 UF _ask_application_module
文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 加工模块获取 UF _ask_application_module 代码: void MyClass::do_it() { // TODO: add your code here // 获取NX当前所在的模块 int module_id = 0; // UF_ask_application_module(&…...
借助GPU算力编译Android
借助GPU算力编译Android 借助GPU编译Android代码的意义在于提高编译的效率和速度。传统的CPU编译方式在处理大量代码时可能会遇到性能瓶颈,而GPU编译利用了显卡的并行计算能力,可以同时处理多个任务,加快编译过程。通过利用GPU的并行计算能力,可以将编译过程中的多个任务分…...
docker-compose一键部署mysql
1.创建安装目录 mnt为硬盘挂载目录,根据实际情况修改 mkdir -p /mnt/mysql cd /mnt/mysql vim docker-compose.yml2.编写docker-compose.yml version: 3.1 services:db:image: mysql:5.7 #mysql版本volumes:- ./data/db:/var/lib/mysql #数据文件- ./etc/my.cnf:/…...
MATLAB 函数签名器
文章目录 MATLAB 函数签名器注释规范模板参数类型 kind数据格式 type选项的支持 使用可执行程序封装为m函数程序输出 编译待办事项推荐阅读附录 MATLAB 函数签名器 MATLAB 函数签名器 (FUNCSIGN) ,在规范注释格式的基础上为函数文件或类文件自动生成函数签名&#…...
2019强网杯随便注bugktu sql注入
一.2019强网杯随便注入 过滤了一些函数,联合查询,报错,布尔,时间等都不能用了,尝试堆叠注入 1.通过判断是单引号闭合 ?inject1-- 2.尝试堆叠查询数据库 ?inject1;show databases;-- 3.查询数据表 ?inject1;show …...
Html+Css+Js计算时间差,返回相差的天/时/分/秒(从未来的一个日期时间到当前日期时间的差)。
Html部分 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><link rel"stylesheet" type"text/css" href"css/index.css" /><script src"js/index.js" t…...
mybatis项目启动报错:reader entry: ���� = v
问题再现 解决方案一 由于指定的VFS没有找,mybatis启用了默认的DefaultVFS,然后由于DefaultVFS的内部逻辑,从而导致了reader entry乱码。 去掉mybatis配置文件中关于别名的配置,然后在mapper.xml文件中使用完整的类名。 待删除的…...
【GIT版本控制】--什么是版本控制
一、为什么需要版本控制? 版本控制是在软件开发和许多其他领域中非常重要的工具,因为它解决了许多与协作、追踪更改和管理项目相关的问题。以下是一些主要原因,解释了为什么需要版本控制: 追踪更改历史: 版本控制系统允许您准确…...
ChatGPT付费创作系统V2.3.4独立版 +WEB端+ H5端 + 小程序最新前端
人类小徐提供的GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。当前全民热议ChatGPT,流量超级大,引流不要太简单!一键下单即可拥有自己的GPT࿰…...
GEE16: 区域日均降水量计算
Precipitation 1. 区域日均降水量计算2. 降水时间序列3. 降水数据年度时间序列对比分析 1. 区域日均降水量计算 今天分析一个计算区域日均降水量的方法: 数据信息: Climate Hazards Group InfraRed Precipitation with Station data (CHIRPS) is a…...
打开MySQL数据库
在命令行里输入mysql --version就可以查看: mysql -uroot -p之前设置的密码(不用输入)就可登录成功:...
怎么直接做免费网站吗/营销管理制度范本
思路:树形dp,d1[i]表示以i为根节点向下的最高高度,d2表以i为根节点的向下的次高高度,p1,p2记录节点高度,up[i]表示以i为根向上的最高高度 代码: class Solution { public:vector<vector<int>> g;vector&…...
新网站怎样做优化/专业的网站建设公司
参考资料 《百面机器学习》https://www.it1352.com/1689274.htmlhttps://blog.csdn.net/m0_37890477/article/details/80413344 余弦距离 定义 对于两个向量AAA和BBB,余弦距离1−cos(A,B)余弦距离1-cos(A,B)余弦距离1−cos(A,B),其中,cos…...
电影点评wordpress主题/优化设计
我们写东西的时候总会遇到lua中要调用java代码,当然这个用JNI肯定是可以做到的,但是有更加方便的办法—LuaJavaBridge。 一、luaj 主要特征 * 可以从 Lua 调用 Java Class Static Method * 调用 Java 方法时,支持 int/float/boolean/String…...
有什么网站是layui做的/一个新产品的营销方案
Supervised Learning(监督学习) supervised learning需要大量的training data,这些training data告诉我们说,一个我们要找的function,它的input和output之间有什么样的关系。 这周function的output,通常被…...
wordpress 分类搜索/上海推广网站
自己到自己开始为1,经过floyd。。。。。之后看看是否有map[i][i]>1,如果有,就可以获利 #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #define inf 0x3f3f3fusi…...
鞍山怎么样做一个自己的网站/seo就业前景如何
对象 Python中一切皆对象。每个对象由:标识(identity)、类型(type)、值(value)组成。 标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数id(obj)可以返回对象obj的标识。类型用于表示对象存储的“数据”的类型。类型可以限制…...