【数据结构与算法】数组与字符串(理论基础)

【数据结构与算法】数组与字符串(理论基础)

写在前面

🤗这里是前端程序员小张!

🌻人海茫茫,感谢这一秒你看到这里。希望我的文章对你的有所帮助!

🌟愿你在未来的日子,保持热爱,奔赴山海!

一、数组

1.1 数组的概念

数组是存放在连续内存空间上的相同类型数据的集合

数组可以方便的通过下标索引的方式获取到下标下对应的数据。

  • 数组下标都是从0开始的。
  • 数组内存空间的地址是连续的

1.2 创建数组

  1. 字面量法

    const 数组名 = [数组元素1,数组元素2];

  2. new 方法

    const 数组名 = new Array(数组元素1,数组元素2)

1.3 数组的遍历

如果想要连续访问数组中的元素,可以使用for…of快速遍历或者for循环。

1.4 数组常见的操作方法与属性

  • Array:length

    表示该数组中元素的个数

  • Array.prototype.shift()

    shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

  • Array.prototype.pop()

    pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度。

  • Array.prototype.unshift()

    unshift() 方法将指定元素添加到数组的开头,并返回数组的新长度。

  • Array.prototype.push()

    push() 方法将指定的元素添加到数组的末尾,并返回新的数组长度。

  • Array.prototype.splice()

    splice() 方法原地改变一个数组的内容,通过移除或者替代已存在的元素和/或添加新元素。

  • Array.prototype.sort()

    sort() 方法原地对数组的元素进行排序,并返回相同数组的引用。默认排序顺序是升序,将元素转换为字符串,然后比较它们的 UTF-16 代码单元值序列。

  • Array.prototype.concat()

    concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

  • Array.prototype.fill()

    fill() 方法用一个固定值填充一个数组中从起始索引(默认为 0)到终止索引(默认为 array.length)内的全部元素。它返回修改后的数组。

  • Array.prototype.join()

    join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串,用逗号或指定的分隔符字符串分隔。如果数组只有一个元素,那么将返回该元素而不使用分隔符。

  • Array.prototype.map()

    map() 方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。

  • Array.prototype.reverse()

    reverse() 方法将就地反转数组中的元素,并返回同一数组的引用。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。换句话说,数组中的元素顺序将转向与之前固定方向相反的方向。

二、字符串

字符串是若干字符组成的有限序列,也可以理解为是一个字符数组。

2.1 创建字符串

  1. 字面量法

const string1 = "A string primitive";

  1. new 方法

const string2 = new String("A String object");

2.2 字符串常见的操作方法与属性

  • String.prototype.charCodeAt()

    charCodeAt() 方法返回 065535 之间的整数,表示给定索引处的 UTF-16 代码单元

  • String.prototype.concat()

    concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。

  • String.prototype.match()

    match() 方法检索返回一个字符串匹配正则表达式的结果。

  • String.prototype.split()

    split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。

  • String.prototype.replace()

    replace() 方法返回一个由替换值(replacement)替换部分或所有的模式(pattern)匹配项后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。**如果pattern是字符串,则仅替换第一个匹配项。**原字符串不会改变。

  • String.prototype.search()

    search() 方法执行正则表达式和 String 对象之间的一个搜索匹配。

  • String.prototype.trim()

    trim() 方法从字符串的两端清除空格,返回一个新的字符串,而不修改原始字符串。此上下文中的空格是指所有的空白字符(空格、tab、不换行空格等)以及所有行终止符字符(如 LF、CR 等)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端程序员小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值