字符串和数组的操作方法
字符串: 通过 " " 或 ' ' 都可以表示字符串,字符串就是普通的文本值,引号中可以写任意字符,引号中的字符仅代表它的字面意思,不表示其他。
字符串的属性: 字符串特点与数组有些相似,字符在字符串中的排列也是有序且连续的.
length: 只读属性,会得到一个number类型的值,表示字符串中字符长度(不区分中英文)
可以通过循环遍历字符(字符索引同样从0开始递增+1,最大索引是length-1)。
注意: 字符串是基础数据类型,无法通过为指定下标位置重新赋值来更换字符串中的字符。(字符串的所有操作,都不是对字符串本身操作,都是对字符串的拷贝进行的操作)
注意: 所有的字符串操作方法都不会对调用方法的字符串产生影响,全都是生成了新的字符串。
操作方法:
字符串没有删除字符串的操作方法,如果要删除字符串中的字符,思路就是将要删除的字符替换成空字符串。
10.str.toLowerCase():将字符串转化成小写
数组: 属于object类型,是一个连续且有序可存储多个值的数据结构(容器)。
1、如何声明一个数组
2、length属性,数组的length属性是一个只读属性,值是number类型,表示数组中存放数据的数量(也称数组长度)。
3、元素与索引
元素: 数组中存储的值都称为是数组的元素。
索引:数组元素在数组中的位置用索引表示,索引是从0开始递增的整数。(元素索引值最小是:0,最大是:数组长度-1)
通过索引可以读取数组中与索引位置对应的元素的值。
当读取的索引值超过了索引范围(数组越界),不会报错,会得到undefined
同样可以通过给数组取索引赋值的形式向数组中添加元素,要注意索引的连续性。
可以利用for循环来遍历数组元素(依次访问)
数组的赋值操作(拷贝操作)
number、string、boolean都属于基础数据类型,基础数据类型在进行赋值的时候,是将一个变量的值的拷贝赋值给另一个变量。
深拷贝
object属于引用类型,引用类型在进行赋值的时候,是将值在内存中的地址赋值给了另一个变量,因此两个变量共同指向同一个内存地址。
浅拷贝
基础数据类型比较的是值(字面值)
引用类型比较的是内存地址是否相同,并不会比较字面值。
不存在完全相同的两个对象
数组的属性和操作方法
属性:length, number类型,只读,表示数组元素的个数(数组长度)
操作方法:
(1)添加:第二个参数是0,并且有第三个参数
(2)替换:第二个参数大于0,并且有第三个参数
(3)删除:第二个参数大于0,并且没有第三个参数
未知长度的数组,需要将除了第一个以外的其他元素都删除
(1) 通过循环多次调用pop()
(2) 通过splice删除指定位置的元素
6.indexOf():判断括号中的值是否是数组的元素,如果是将得到元素的索引,如果不是将得到-1。(不会影响原数组)
场景:水果列表中是否包含'牛油果'?
7.concat():合并多个数组(不会影响原数组)
8.slice():对数组进行截取(不会影响原数组)
参数:
第一个参数:设置开始截取的位置
第二个参数:设置结束截取的位置,截取内容不包含结束位置的元素。当结束位置超过数组长度,只会截取到数组末尾,不会报错。