数组
数组创建
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) {
}
variable
为 iterable
数组或字符串中的元素。具体写法:
for (let name of arr) {
console.log('欢迎' + name + '来到蓝桥云课!')
}
迭代变量可以使用let
或者var
、const
来申明。
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"
学到了