javascript 字符串和数组——String和Array

来源:互联网 发布:淘宝怎么收藏店铺 编辑:程序博客网 时间:2024/05/20 17:39

一、String类型的方法:

1、toString(),该方法可以接受一个参数,表示输出数值的基数。例如:var num=10,num.toString()。多数情况系下是没有参数的。

2、String()函数的转换规则:

如果要转换的值有toString方法,则调用该方法。

null和undefined分别转换为 'null'和'undefined

3、字符串操作方法:

concat()用于拼接符串,例如 : var str = 'abc' , str.concat('efg'); // console.log(str) ==>'abcefg';

slice(),substring(),基于调用该方法的字符串返回一个新的字符串,可以接受一个或者两个参数,第一个参数表示截取字符串的起始位置,第二个参数表示截取字符串的结束位置。返回的字符串包含起始位置的字符,但是不包含结束位置的字符。如果没有第二个参数默认一字符串的结束位置作为结束位置。

substr(),基于调用该方法的字符转返回一个新的字符串,接受一个或者两个参数,第一个参数表示截取字符串的起始位置,第二个参数表示截取字符的个数。如果没有第二个参数默认一字符串的结束位置作为结束位置。

以上方法都不会改变原始字符串

当参数是负值时,slice会将传入的负值与字符串长度相加,substring将所有负值转换为0,substr会将第一个参数于字符串长度相加,第二个负值参数则转换为0。

slice中当第一个参数大于第二个参数时,将返回空字符串;substring中第一个参数大于第二个参数时。默认会交换两个参数的位置,然后返回字符串。

indexOf(),lastIndexOf()查询字符或者字符串在调用该方法的字符串中的位置,返回值相同。如果该字符串不存在于调用字符串中,返回-1;这两个方法的不同之处在于indexOf是从字符串的起始位置开始查找,lastIndexOf是从字符串的结束位置开始查找。都可以接受可选的第二个参数,表示查找的起始位置,一个从左起,一个从右起。

toLowerCase(),toUpperCase()分别表示把字符串转换为小写和大写。

4、字符串匹配方法:

match()接受一个参数,正则表达式或者RegExp对象。返回true或false。

search()接受的参数于match相同,返回第一个匹配项的索引。没有匹配项则返回-1;

replace()字符串替换,接受两个参数,第一个参数可以是RegExp对象或者字符串,第二个参数可以是字符串或者函数,如果第一个参数是字符串,则至替换第一个匹配项;如果想替换所有自字符串应该提供一个正则表达式而且要指定全局(g)标志。

split()分割字符串,返回一个数组,可以接收一个或者两个参数,第一个参数表示分隔符,可以是字符串或者正则表达式。第二个参数表示返回字符串的长度。

5、其他

字符串比较方法localCompare(); string.localCompare([string])

字符串编码方法fromCharCode(),该方法是一个静态方法 : String.fromCharCode([字符编码])

charAt();接受一个参数表示字符位置,返回该位置的字符

charCodeAt(),接受一个表示字符位置的参数,返回该位置字符的编码,于fromCharCode相反


二、数组方法

1、转换方法:

toString(),将数组转换为以‘,’分隔的字符串【1,2,3】=>'1,2,3'

valueOf()返回数组的值,例外 【1,2,3】=>[ 1,2,3],【1,2,3,,,】=>[1,2,3,undefined,undefined]

join()接受一个参数返回一改参数作为分割符的字符串 [1,2,3].join('|') = > 1|2|3

2、队列方法和栈方法

shift() 删除并返回数组的第一项,

unshift()向数组的开始添加一项,并返回新数组的长度,在IE中总返回 undefined

push() 向数组的末尾添加一项,返回新数组的长度

pop()删除并返回数组的组后一项

配合使用shift和push可以实现先进先出的队列,unshift和pop可以实现反向队列

3、排序

resverse() 反转数组

sort()会按升序排列数组项,该方法会调用数组每一项的toString方法,然后对得到的字符串排序。可以接受一个比较函数作为参数,这可以方便使用者定义排序的方式。

4、操作方法

concat()合并数组,该方法不会改变原始数组,当合并的数组的项包含数组时,会转换为单独的项,即转换之后的结果是一个一维的数组。

slice()基于调用该方法的数组中的一项或多项创建一个新的数组。可以接收一个或者两个参数:分别表示截取数组的起始位置和结束位置,但是不包含结束位置的项;只有一个参数时,返回从该位置开始直到最后一项的数组。如果传入的结束位置小于开始位置将返回空数组。当传入的参数是负数时,参数会转换为该负值于数组长度的和。该方法不会改变原始数组。该方法表现于string类型的slice方法相同

splice()删除、插入和替换。

删除时只指定定两个参数,删除的起始位置,要删除的项的数量。

插入时需要至少三个参数,第一个表示起始位置,第二个0表示删除的项数,第三项要插入的项,可以插入多个项,arr.splice(2,0,'a','b','c');

替换,当第二个参数不为0,时,就是替换:其实是删除和插入的结合

splice会改变原始的数组

indexOf(),查询数组中某一项再数组中的位置,当属组不包含该项时返回-1;lastIndexOf从最后一项开始查找结果 与 indexOf返回的只想同。用法与数组的该方法相同


原创粉丝点击