JavaScript基础(数组+正则表达+字符串)

目录

1.数组

1.1创建数组

1.2字面量创建数组

1.3length函数

1.4遍历数组1

1.5遍历数组2语法糖

1.6增删改查

1push

2pop

3unshift("x",'x')

4shift()

5数组的截取

slice()

splice()

6concat

7reverse 

2.内置对象

2.1data

2.2Math对象

2.3字符串

1charAt

2charCodeAt

3concat

4indexOf

5lastIndexOf

6slice

7substring

8split

9toLowerCase

10toUpperCase

3.正则表达式

3.1创建正则对象

3.2字面量创建正则表达式

3.3[ ]

3.4正则量词

4.应用

4.1字符串拆分  (通过正则)

4.2字符串搜索

4.3提取出合适的字符match()

4.4通过在正则替换字符串中的指定内容

4.5其他


1.数组

1.1创建数组

1.2字面量创建数组

1.3length函数

通过 length方法 获取数组长度

1.4遍历数组1

// 遍历数组// for (let i = 0; i < arr.length; i++) {//     console.log(arr[i])// }

1.5遍历数组2语法糖

 // 遍历数组 IE8 以上//第一个参数 :当前正在遍历的元素//第二个参数 :当前正在遍历的元素索引//第三个参数:当前正在遍历的数组// arr.forEach(function (value,index,arr) {//     console.log(value,index,arr);// })

1.6增删改查

1push

 //向数组的末尾追加值 arr.push("xxx");

2pop

 //删除末尾数据 // arr.pop();

3unshift("x",'x')

// 向数组的开头追加一个元素或者多个元素 arr.unshift("11", '222');

4shift()

//删除数组的第一个元素// arr.shift();

5数组的截取

slice()

slice 该方法可以用于从数据提起指定的元素,不会改变原数组
     * 参数
     * 1.截取的开始位置索引 包含开始索引元素(含左不含右)
     * 2.截取的结束位置索引,不包含结束索引元素
     * 可以为负数  -1 表示倒数第一个元素 -2表示倒数第二个元素
let newArr = result.slice(0,1);

Array [ "Hello" ]

splice()

 splice() 可以用于删除数组中指定的元素 该方法会影响到原数组,删除的元素会作为返回值返回

1.表示开始位置索引 2.要删除的元素数量3.第三个及后续参数参数,可以作为新的元素

6concat

concat 可以将两个或者多个数组 连接 并返回一个新的数组 不会对原数组产生影响

数组拼接为字符串// console.log(arr1.join("#-#"));

7reverse 

数组反转 console.log(arr1.reverse());

数组的排序

 var arr = [1,2,5,8,6,5,7,8,9,3]/***  如果返回大于0 则元素交换位置*  如果返回小于0 则元素位置不变*  如果等于0则认为两个元素相同*/arr.sort(function (a,b) {return b-a;});console.log(arr)

2.内置对象

2.1data

var date = new Date();

2.2Math对象

parseInt(Math.random()*10)//0-1的随机数

console.log(Math.round( 1.5));//2四舍五入

console.log(Math.ceil(2.93545))//3向上取整

console.log(Math.floor(2.93545))//2

console.log(Math.PI)//π

2.3字符串

let str = "Hello,World!";

1charAt

str.charAt(0);//H

2charCodeAt

str.charCodeAt(0);//72

3concat

str.concat("你好","世界!")//Hello,World!你好世界!

4indexOf

console.log(str.indexOf(","));//从左向右 找字符串的下标 并返回,5

5lastIndexOf

console.log(str.lastIndexOf(","));从右向左 找字符串的下标 并返回5,因为没有使用结合"你好世界!"的字符串

6slice

console.log(str.slice(0,5));//第一个不能省略截取,第二个参数可以为负数 -1最后一位 -2倒数第二位,Hello

7substring

console.log(str.substring(1,0));//H,如果第二个参数小于第一个参数则 交换位置

8split

let result = str.split(",");//字符串转为数组,Array [ "Hello", "World!" ]//转换为小写

9toLowerCase

10toUpperCase

3.正则表达式

3.1创建正则对象

1.正则表达式  2.匹配模式

var reg = new RegExp("ab","i");

var str = "Abc";

console.log(reg.test(str));//true,

3.2字面量创建正则表达式

// var reg = /a/i;1.正则表达式  2.匹配模式

3.3[ ]

[bev]  bev是或者关系
// 检查一个字符串 是否 包含 abc  aec  avc

// var reg = /a[bev]c/

// var reg  = /[^A-z]// var str = '#';

3.4正则量词

() 表示整体
{n} 正好出现n次
(ab){3}/ ab 出现三次(abababbc) 》》 true
{m,} 最少出现m次 最多无上限
{m,n} 最少出现m次 最多n层
+ 至少出现一次
* 0个 或者 多个 {0,}
? 0个或者一个 {0,1}

\w 表示 字母 数字 _ 类似 [A-z0-9_]

/^开始  $结束/
\W 表示 除了字母 数字 _ [^A-z0-9_]
\d 表示 任意的数字 [0-9]
\D 表示 除了 任意的数字 [^0-9]
\s 空格
\S 除了空格
 \b 单词边界
 \B 除了单词边界

\. 表示 .
\\ 表示 \

4.应用

4.1字符串拆分  (通过正则)

    // var str = "1a2b3c4d5e6f8t9y7";
    // var result = str.split(/[A-z]/);
    // console.log(result)

输出结果:Array(9) [ "1", "2", "3", "4", "5", "6", "8", "9", "7" ]

4.2字符串搜索

返回遇到第一个符合正则的字符串下标:var result = str.search(/a[bef]c/);abc|aec|afc

4.3提取出合适的字符match()

var str = "1a2b3c4d5e6f8t9y7AUHJKSUR";

var result = str.match(/[a-z]/ig);

console.log(result);

输出结果:Array(16) [ "a", "b", "c", "d", "e", "f", "t", "y", "A", "U", … ]

4.4通过在正则替换字符串中的指定内容

// var str = "1a2b3c4d5e6f8t9y7AUHJKSUR";
// 1.要被替换的内容 2.新的内容

// var result = str.replace(/[a-z]/gi,'$'); // console.log(result);

4.5其他

        // var str = 'e';// var reg = /^\D$/// console.log(reg.test(str));// 去除字符中中的前后空格// var str = "  hello zhangsan ";// var reg = /^\s*|\s*$/g// console.log(str.replace(reg,""))// 检查一个字符串中时候含有zhangsan// var str = "hello zhangsan";// var reg = /\bzhangsan\b/;// console.log(reg.test(str))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/236983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二维相位展开问题(讨论针对不连续相位展开算法鲁棒性)

作者&#xff1a;Munther Gdeisat博士和Francis Lilley博士 先决条件&#xff1a;为了理解本教程&#xff0c;在阅读本文档之前&#xff0c;您必须已经学习并完成“一维相位展开问题”教程。 有许多应用程序可以生成包裹的相位图像。例如合成孔径雷达&#xff08;SAR&#xf…

FreeRTOS之列表及列表项实验(基于stm32f103c8t6)

B站正点原子视频链接&#xff1a; 第23讲 列表项的插入和删除实验_哔哩哔哩_bilibili #include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #include "FreeRTOS.h" #include "task.h" #in…

Android开发——activity类中的回调方法中的7个生存期

1、onCreate() 这个方法在每个活动中都能进行重写&#xff0c;他会活动在第一次被创建的时候调用。在这个方法中完成活动的初始化操作&#xff0c;如&#xff1a;加载布局、绑定事件等 2、onStart() 这个方法在活动由不可见变为可见的时候调用 3、onResume() 这个方法在活动中准…

大创项目推荐 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 人脸识别系统 该项目…

Mybatis练习

文章目录 配置文件实现CRUD环境准备查询所有数据编写接口方法编写SQL语句编写测试方法起别名解决上述问题使用resultMap解决上述问题小结 查询详情编写接口方法编写SQL语句编写测试方法参数占位符parameterType使用SQL语句中特殊字段处理 多条件查询编写接口方法编写SQL语句编写…

【EI会议征稿】2024年生成式人工智能与信息安全国际学术会议(GAIIS 2024)

2024年生成式人工智能与信息安全国际学术会议&#xff08;GAIIS 2024&#xff09; 2024 International Conference on Generative Artificial Intelligence and Information Security 2024年生成式人工智能与信息安全国际学术会议&#xff08;GAIIS 2024&#xff09;将于 202…

技术人的年终总结报告,请笑纳

背景 年底了&#xff0c;部门间&#xff0c;小组间不可避免的需要写年终总结报告。我相信很多朋友这件事肯定比较反感。认为这些东西都是表面形式&#xff0c;没有任何意义&#xff1b;亦或对于专心搞开发的人&#xff0c;对于这种报告并不擅长&#xff0c;不知道如何下手&…

Jackson 注解及配置大全

Jackson JSON 框架中包含了大量的注解来让我们可以干预 Jackson 的 JSON 处理过程&#xff0c; 例如我们可以通过注解指定 java pojo 的某些属性在生成 json 时被忽略。。本文主要介绍如何使用 Jackson 提供的注解。 Jackson注解主要分成三类&#xff0c;一是只在序列化时生效的…

Guava自加载缓存LoadingCache使用指南

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;今天我们来聊聊缓存。在Java世界里&#xff0c;高效的缓存机制对于提升应用性能、降低数据库负担至关重要。想象一下&#xff0c;如果每次数据请求都要跑到数据库里取&#xff0c;那服务器岂不是要累趴了&#x…

js禁止打开控制台,如何强行打开控制台?

当我在查看某个网站的源码时&#xff0c;按F12会跳转到百度页面&#xff0c;或者先打开F12再输入网站也会进入到百度首页。 首先我们要关闭控制台进入到这个网站的首页&#xff0c;然后右键查 看网站的源码。 1.找到这个js文件&#xff0c;点进去。 2.点击这个js文件之后&a…

鸿蒙崛起了,再不加入恐怕要错过下个时代了

在华为9月25日的发布会上&#xff0c;余承东宣布“全新鸿蒙HarmonyOS NEXT蓄势待发&#xff0c;鸿蒙原生应用全面启动”&#xff0c;可以说一石激起千层浪。华为毅然决然的迈出了全新的一步&#xff0c;鸿蒙原生应用的全面启动&#xff0c;让人感觉又要有什么大事发生&#xff…

TIDB7.5LTS集群安装配置手册

简介 因近期有一个项目需要上线,在评估使用什么架构时,和开发同仁沟通需求,了解到该应用为OLTP但是数据量很集中,会有几张超大的表,如果要保证事务效率,使用mysql集群难免会要做分库分表,对后期的运维带来很大的挑战;而TIDB属于分布式集群,TIKV的行存模式非常适用于大…

微信小程序管理奖品(抽奖)

话不多说直接上代码 功能&#xff1a; 使用微信小程序vant-weapp 组件库中的upload组件以及两个input框 最后拿到的值是一个数组对象的形式 主要代码如下&#xff1a; wxml <view wx:for"{{prizes}}" wx:key"index" class"inputs"><i…

【算法刷题】Day21

1. 【模板】前缀和 原题链接 题干&#xff1a; 给定一个长度为 n 的数组 有 q 次查询&#xff0c;每次有两个参数 l 和 r 算法原理&#xff1a; 1. 暴力解法 &#xff08;模拟&#xff09; 这个时间复杂度是 O(n) 2. 前缀和&#xff08;快速求出数组中某一个连续区间的和&…

DOM是什么?

1、概述 &#xff08;1&#xff09;DOM代表文档对象模型&#xff0c;是 HTML 和 XML 文档的接口&#xff08;API&#xff09; &#xff08;2&#xff09;当浏览器第一次读取&#xff08;解析&#xff09;HTML文档时&#xff0c;会创建一个基于 HTML 文档的大对象&#xff0c;…

听GPT 讲Rust源代码--src/tools(15)

File: rust/src/tools/rust-analyzer/crates/mbe/src/token_map.rs 在Rust源代码中&#xff0c;rust/src/tools/rust-analyzer/crates/mbe/src/token_map.rs文件的作用是实现了一个能够将输入的文本映射为标记的结构。具体来说&#xff0c;它定义和实现了几个结构体&#xff08…

数据库(三)超详细SQL语句入门 | SQL增删改查,重命名,字符操作,联合操作,聚合函数,嵌套子查询

文章目录 1 SQL表内类型2 SQL增删改语句2.1 创建表2.2 删除表2.3 表中添加属性2.4 添加新的元组信息2.5 删除表所有元组2.6 元组 3 查询语句4 重命名4.1 为什么用 5 字符操作5.1 寻找 6 生序降序7 联合操作7.1 并集Union7.2 交集 INTERSECT7.3 差集 EXCEPT7.4 对于空值补充 8 聚…

掀起全新的互联网直播风潮

随着科技的不断进步和智能手机的普及&#xff0c;无人直播作为一种全新的互联网直播方式&#xff0c;在近些年迅速崛起&#xff0c;并引起了广泛关注。本文将围绕手机无人直播展开探讨&#xff0c;探究其背后的原因以及对社会生活带来的影响。 首先&#xff0c;我们需要明确什…

[Angular] 笔记 5:ngClass

Angular 中的 ngClass 是什么&#xff1f; chatgpt 回答&#xff1a; 在Angular中&#xff0c;ngClass 是一个内置的指令&#xff0c;用于动态地添加或移除 HTML 元素的 CSS 类。它允许你根据条件设置一个或多个 CSS 类&#xff0c;可以是对象、数组或字符串。 使用方式&#…

一篇文章带你进阶CTF命令执行

以下的命令是为了方便以后做题时方便各位读者直接来这里复制使用&#xff0c;刚开始还请先看完这篇文章后才会懂得下面的命令 ?ceval($_GET[shy]);&shypassthru(cat flag.php); #逃逸过滤 ?cinclude%09$_GET[shy]?>&shyphp://filter/readconvert.base64-…