JavaScript 数组操作&字符串操作

数组

数组创建

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

取值:

nums[1]

length 属性

获取数组的长度:

let len = arr.length

关于length属性的修改,这是Js特殊的地方,通过修改length可以直接减少数组的元素。

arr.length = 0

该代码将会清空数组!

at() 方法

为什么用at()不用方括号[]?原因是,at()允许使用负数索引从后往前访问。

let last_element = arr.at(-1)

上述代码可以取到最后一个元素。

slice() 方法

arr.slice(start, end)

该方法将返回按照[start, end)切片的数组。start默认为0,end默认为length

concat() 方法

arr.concat(arr1, arr2, /* ..., */ arrN)

该方法将返回arr数组与参数中的数组拼接在一起后的数组。

join() 方法

arr.join(separator)

该方法将返回用separator拼接后的字符串,separator默认值为,(String类型)。

数组迭代

for … of 循环

for (variable of iterable) {

}

variableiterable 数组或字符串中的元素。具体写法:

for (let name of arr) {
  console.log('欢迎' + name + '来到蓝桥云课!')
}

迭代变量可以使用let或者varconst来申明。

forEach() 方法

arr.forEach(callbackFn, thisArg)

callbackFn是一个回调函数,默认接受三个参数:

  • element :当前元素的值
  • index :当前元素的下标
  • array :被该方法操作的数组

thisArg 是执行回调函数时用作 this 的对象,它是一个可选参数。

具体写法:

const arr = ['小红', '小蓝', '小绿']
arr.forEach(function (name) {
  
})

pop() 方法

删除数组最后一个元素,如果数组为空返回undefined。该方法会直接操作输入的数组,并返回被删除的元素值。

let arr = [1, 2, 3]
arr.pop() // arr = [1, 2] 返回 3

push() 方法

该方法将在数组末尾添加一个元素,并返回添加后的数组长度(arr.length)。

arr.push(待加元素)

shif() 方法

该方法将直接操作数组删除数组首元素并返回被删除的元素,如果为空返回undefined

arr.shift()

unshift() 方法

该方法将在数组最前面添加一个元素,并返回添加后数组的长度。

arr.unshift(待添加元素);

总结

总结一下规律,可以发现如下规律:数组的添加操作返回值都是添加后数组的长度,数组的删除操作返回值都是被删除的元素,并且空数组时会返回undefined。删除和添加的操作会直接作用在数组上,但其余操作不会直接修改原数组。对于forEach需要记住回调中三个默认参数依次是迭代器的值、索引和原数组。

字符串

at() 方法

和数组一样,该方法与方括号访问的区别在于可以使用负数索引,如果索引超出范围将返回undefined

charAt() 方法

str.charAt(pos)

该方法不允许负数索引,与方括号访问的唯一区别在于访问越界时返回空字符。

slice() 方法

该方法与数组的切片方法完全一样。

subString() 方法

该方法和slice()一样可以选取部分字符串,和slice()方法的区别在于start大于end时系统会自动帮你纠正这个错误。

str.subString(8, 2) // 等价于 str.subString(2, 8)

concat() 方法

和数组一样,返回拼接后的数组。

split() 方法

str.split(separator, limit)

separator为分隔符,limit为返回数组的大小。可以将字符串按照分隔符分割成字符数组。通过limit可以限制返回数组的大小。

toUpperCase()、toLowerCase() 方法

该方法用于将字符串转大些和转小些。

str.toUpperCase() // 转大写
str.toLowerCase() // 转小写

trim()、trimStart()、trimEnd() 方法

trim()将返回字符串首位空格被去除后的新字符串。trimStart()只去除字符串左边的空格,trimEnd()只去除末尾空格。

str.trim()
str.trimStart()
str.trimEnd()

padStart()、padEnd() 方法

str.padStart(targetLength, padString)

该方法将返回使用padString填充到字符串的最前方直到达到目标长度 targetLength后的新字符串。padString默认为空格,可以省略。

repeat() 方法

str.repeat(count)

该方法返回字符串重复count次后的新字符串。

replace()、replaceAll() 方法

str.replace(pattern, replacement)
str.replaceAll(pattern, replacement)

replace()只能替换匹配到的第一个字符串,replaceAll()则会替换所有匹配到的字符串。pattern可以是一个字符串,也可以是一个正则表达式。replacement为用来替换的新字符串。

"Hello World Hello".replace("Hello", "你好") // "你好 World Hello"
作者:Sy_

评论

  1. Asuna
    Windows Chrome
    2 月前
    2024-12-19 1:30:15

    学到了

    • 博主
      Asuna
      Macintosh Chrome
      2 月前
      2024-12-19 22:48:31

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇