数组、字符串 操作api

数组篇:

1、数组的创建

var arrayObj = new Array(); //创建一个数组

var arrayObj = new Array( [size] ); //创建一个数组并指定长度,注意不是上限,是长度

var arrayObj = new Array( [ element0 [, element1 [, ... [, elementN ] ] ] ] ); 创建一个数组并赋值

    要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2、数组的元素的访问

var arrValue = arrayObj[1]; //获取数组的元素值

arrayObj[1] = "***"; //给数组元素赋予新的值

3、数组元素的添加删除

arrayObj.push( [ item1 [ item2 [. . . [ itemN ] ] ] ] ); // 将一个或多个新元素添加到数组结尾,并返回数组长度

arrayObj.unshift( [ item1 [ item2 [. . . [ itemN ] ] ] ] ); // 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组长度

arrayObj.pop(); //移除最后一个元素并返回该元素值

arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移

arrayObj.splice(start,deleteCount,val1,val2,...); //从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 

arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

4、数组元素的字符串化

 arrayObj.join( separator ); //返回字符串,这个字符串将数组的每一个元素用 separator 连接。

 toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

5、数组复制

arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向

arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

6、数组元素的排序 

arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址

arrayObj.sort(); //对数组元素排序,返回数组地址

 

字符串篇:

1、字符串转换

var mystr = num.toString();

var mystr = String(num);

var mystr = num + ''; 

2、字符方法

stringObject.charAt(index); // 返回指定位置的字符。

stringObject.charCodeAt(index);  // 返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数

3、字符截取 (slice、substring、substr )

stringObject.slice(start,end); //提取字符串中从start位置开始,到end位置结束(不包含end)的部分,并以新的字符串返回。负数规定从字符串的尾部开始算,-1即最后一个字符。若未指定 end,则要提取的子串包括 start 到原字符串结尾的字符串

stringObject.substr(start,length); //提取字符串中从start(包括 start 所指的字符) 处开始的 length 个字符,若未指定 length,那么返回的字符串包含从 start 到结尾的字符

stringObject.substring(start,stop); //提取字符串中介于两个指定下标之间的字符。非负整数,从 start 处到 stop-1 处的所有字符。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数

String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。

4、字符串分割

stringObject.split(separator,howmany); // separator必需。字符串或正则表达式,从该指定的字符 分割 stringObject。 howmany 可选,指定返回的数组的最大长度

5、字符串替换

stringObject.replace(regexp/substr,replacement) ; // 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。默认只进行第一次匹配操作的替换,想要全局替换,需要置上正则全局标识g

6、字符串模式匹配

stringObject.match( searchvalue / regexp ) ; // 在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

  (1) 使用字符串直接进行匹配,被匹配的字符串内包含要匹配的字符串时,返回所要匹配的字符串。

  (2)使用正则匹配字符串时,返回值的容依赖于 regexp 是否具有全局标志 g。

  如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。

  如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是 stringObject 中所有的匹配子串,而且也没有 index 属性或 input 属性。

  详情 可查阅 正则匹配 部分。

stringObject.search(regexp) ; // 检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。返回字符串中第一个匹配项的索引,如果没有匹配项,返回-1

7、字符串查询

stringObject.indexOf(searchvalue,fromindex); // 返回字符串中一个子串第一处出现的索引(从左到右搜索),如果没有匹配项,返回 -1。对大小写敏感。

stringObject.lastIndexOf(searchvalue,fromindex); // 返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。对大小写敏感。

8、字符串去空格

stringObject.trim(); // 从一个字符串的两端删除空白字符。不影响原字符串本身,它返回的是一个新的字符串。

9、字符串大小写转换

stringObject.toLowerCase(); // 把字符串转换为小写。

stringObject.toUpperCase(); // 把字符串转换为大写。

 -- end --

猜你喜欢

转载自www.cnblogs.com/_error/p/11244942.html