数组对象
检测是否为数组
1.instanceof 运算符
如:console.log(arr instanceof Array);
2.Array.isArray(参数);
如:console.log(Array.isArray(arr));
添加删除数组元素的方法
方法 | 说明 | 返回值 |
---|---|---|
push(参数1...) | 末尾添加一个或多个元素,注意修改原数组 | 并返回新的长度 |
pop() | 删除数组最后一个严肃,把数组长度减1五参数、修改原数组 | 返回它删除的元素的值 |
unshift(参数1...) | 向数组的开头添加一个或更多元素,注意修改原数组 | 并返回新的长度 |
shift() | 删除数组的第一个元素,数组长度减1五参数、修改原数组 | 并返回第一个元素的值 |
添加数组元素
push:
- 可以在末尾给数组追加新的元素
- push()参数直接写数组元素即可
- push完毕后,返回的结果是新数组的长度
- 原数组会发生变化
- arr.push('a','b','c');
unshift:
- 可以在开头给数组追加新的元素
- unshift()参数直接写数组元素即可
- unshift完毕后,返回的结果是新数组的长度
- 原数组会发生变化
- arr.unshift('a','b','c');
删除数组元素
pop:
- 删除数组的最后一个元素
- pop()没有参数
- pop完毕后,返回值是删除的那个数组元素
- 原数组会发生变化
shift:
- 删除数组的第一个元素
- shift()没有参数
- shift完毕后,返回值是删除的那个数组元素
- 原数组会发生变化
数组排序
方法 | 说明 | 与原数组比较 |
---|---|---|
reverse() | 颠倒数组中元素的顺序,无参数 | 该方法会改变原来的数组,返回新数组 |
sort() | 对数组的元素进行排序(冒泡排序) |
数组索引方法
方法 | 说明 | 返回值 |
---|---|---|
indexOf() | 数组中查找给定元素的第一个索引 | 存在返回索引号,不存在返回-1 |
lastIndexOf() | 在数组中的最后一个的索引 |
数组转换为字符串
字符串对象
基本包装类型:
就是把简单数组类型包装成为了复杂数据类型
过程:
- 生成临时变量,把简单数组类型包装成为了复杂数据类型
- 赋值给声明的字符变量
- 销毁临时变量
字符串的不可变
指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间
所以不要大量的拼接字符串
根据字符返回位置
字符串所有的方法,都不会修改字符串本身(字符串时不可变的),操作完成会返回一个新的字符串
str.indexOf('要查找的字符',[起始的位置])
方法 | 说明 | 使用 |
---|---|---|
charAt(index) | 返回指定位置的字符(index字符串的索引号) | str.charAt(0) |
charCodeAt(index) | 返回指定位置的ascii码(index索引号) | charCodeAt(0) |
str[index] | 返回指定位置的字符 | HTML5,和charAt()等效 |
字符串操作方法(重点)
方法名 | 说明 |
---|---|
concat(str1,str2,str3...) | concat()方法用于连接两个或多个字符串,拼接字符串,等效于+,+更常用 |
substr(start,length) | 从start位置开始(索引号),length取的个数(重点) |
slice(start,end) | 从start位置开始,截取到end位置,end取不到(他们俩都是索引号) |
substring(start,end) | 从start位置开始,截取到end位置,end取不到,基本与slice相同,但是不接受赋值 |
字符串的替换
语法:replace('被替换的字符','替换为的字符')
字符串转换为数组
语法:split(''分隔符)