数组与字符串
数组
- isArray() 判断是否为Array类型
插入与删除
- push() 将数据项插入到数组的后面
- unshift() 将数据项插入到数组的前面
- pop() 将数组的最后一项删除并返回
- shift() 将数组的第一项删除并返回
排序
- reverse(),逆序排列
- sort(),顺序排列,默认是按照字符串顺序,若是按照数字大小排列就要设定方法
function sortNumber(a,b){
return a-b;
}
arr.sort(sortNumber);//调用
连接、更改数组
- concat() 用于连接两个或多个数组,不会改变现有数组,仅仅会返回被连接的数组的一个副本
- slice() arrayObject.slice(start, end) 返回一个新的数组,范围是[start, end),不会改变现有数组
- splice() arrayObject.splice(index, howmany, item1,…,itemn) 可删除从index处开始的howmany个元素,并用参数列表中的item替换掉删除的元素,会改变原数组
位置方法
- indexOf() .indexOf(searchvalue,fromindex) 从前向后查找位置索引
- lastIndexOf() 从后向前查找位置索引
若找不到则返回-1
常用的遍历方法
- filter() 每一项运行给定函数,返回true的项
- forEach() 每一项运行给定函数,无返回
字符串
- toString() String类型的方法,null和undefined分别转换为 ‘null’和’undefined
拼接、更改字符串
- concat() 拼接字符串,不会改变原始字符串
- slice() .slice(start, end) 返回一个新的数组,范围是[start, end),如果没有第二个参数则默认字符串的结束位置为end;当第一个参数大于第二个参数时,将返回空字符串。不会改变原始字符串
- substring() 基本同上,但当第一个参数大于第二个参数时,默认会交换两个参数的位置,然后返回字符串
- substr() .substr(start, length),第一个参数为负数则从字符串尾部开始计算,不会改变原始字符串
- split() 分割字符串,返回一个数组,可以接收一个或者两个参数,第一个参数表示分隔符,可以是字符串或者正则表达式。第二个参数表示返回字符串的长度。
位置方法
- indexOf() .indexOf(searchvalue,fromindex) 从前向后查找位置索引
- lastIndexOf() 从后向前查找位置索引
若找不到则返回-1 - charAt() .charAt(index) 接受一个参数表示字符位置,返回该位置的字符
- charCodeAt() .charCodeAt(index) 接受一个表示字符位置的参数,返回该位置字符的编码
大小写转换
- toLowerCase() 把字符串转换为小写
- toUpperCase() 把字符串转换为大写
字符串匹配
- match() 接受一个参数,正则表达式或者RegExp对象。一次返回所有符合的元素。
- search() 接受的参数于match相同,返回第一个匹配项的索引。没有匹配项则返回-1
- replace() 字符串替换,接受两个参数,第一个参数可以是RegExp对象或者字符串,第二个参数可以是字符串或者函数
数组与字符串
数组VS字符串
首先,JavaScript有六种数据类型。原始类型有number,string,boolean,null,undefined五种。另外还有一种叫对象类型object,或者说对象。其中,Function,Array,Date等都是一种对象。而Function是一种特殊的对象,函数是可以调用的,而且有自己的作用域。
- 数组VS字符串
在操作字符串的时候,我们可以理解字符串是类数组,字符串也可以通过.charAt(index)或者str[0]这样的形式来返回某个字符,也有length属性表示字符串的长度。
但是字符串不是数组,它没有数组一些特定的方法,比如splice()、join()等。我们可以通过:
Array.prototype.join.call(str,"_");//"h_e_l_l_o__w_o_r_l_d"
这样我们可以把字符串当作数组那样用数组的一些特定的方法。
- 数组VS对象
这里我们顺便提及一下数组与对象的关联。
相同:都可以继承;都可以当做对象添加/删除属性;数组是对象,对象不一定是数组
不同:数组自动更新length;按索引访问数组常常比访问一般对象属性明显迅速;数组对象继承Array.prototype上的大量数组操作方法
相互转化
数组转字符串
var str = arr.join("");
字符串转数组
var arr = str.split("");