①字符串是不可变的,数组是可变的。字符串不可变是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串。而数组的成员函数都是在其原始值上进行操作。
②数组有一个字符串没有的可变更成员函数reserve()。
方法一:先将字符串转化为数组,待处理完后再将结果转化回字符串:
split()方法将一个字符串拆成字符并返回一个数组
reverse()方法使数组反转
join()方法将数组中的所有元素边接成一个字符串
var a="foo"
var b=a.split("")//转化为字符串数组
.reverse()//进行反转
.join("")//数组中的字符拼接回字符串
方法二:把字符串中的字符倒序存入数组,再将数组转化为字符串:
var newString = []
for(var i = a.length-1,j = 0i >= 0i --,j ++){
newString[j] = a[i]
}
newString.join()
push: 在数组末尾新增数据
pop: 删除数组最后一条数据
unshift: 在数组开头新增数据
shift: 删除数组第一条数据
slice: 截取数组 不会影响原数组 返回被截取的内容
splice: 可以实现数组的增删改 索引/删除的条数/新增的内容 返回被删除的内容
join: 将数组转为字符串
concat: 拼接数组
reverse: 反转数组
sort: 排序
查找对应元素 // 以下方法只要找到就不会再继续遍历
indexOf: 找到返回对应索引, 否则返回-1
lastIndexOf: 从末尾查找
includes: 找到返回true, 否则false
find: 找到返回元素, 否则返回undefined
findIndex : 找到返回索引, 否则返回-1
查找对应元素
forEach: 对数组进行遍历
some: 只要有一个符合条件就返回true
every: 全部符合条件才返回true
map: 对数组进行某些操作 // 返回修改后的数组
fillter: 返回符合条件数据组成的数组
split: 转换为数组
slice: 去接字符串
indexOf: 查找
trim: 去除前后空格
toUpperCase: 转大写
toLowerCase: 转小写
replace: 查找替换