zoukankan      html  css  js  c++  java
  • 数组、字符串 操作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(); //对数组元素排序,返回数组地址

     
    7、数组查询

    arrayObj.indexOf(item, from);   // 从索引 from 查询 item ,如果找到返回索引,否则返回 -1

    arrayObj.lastIndexOf(item, from);  // 和上面相同,只是从尾部开始查询

    arrayObj.includes(item, from);   // 从索引 from 查询 item,如果找到则返回 true

    arrayObj.keys(item);  // 用于从数组创建一个包含数组键的可迭代对象


    arrayObj.find( function(item, index, arr), thisValue );  // 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

    arrayObj.findIndex( function(item, index, arr), thisValue );  // 返回数组中满足提供的测试函数的第一个元素的索引。否则返回 undefined

    arrayObj.filter( function(item, index, arr), thisValue );  // 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素

    arrayObj.map(function(item,index,arr), thisValue);  // 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

    arrayObj.some(function(item,index,arr), thisValue);  // 用于检测数组中的元素是否满足指定条件(函数提供)。如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。

    arrayObj.every(function(item,index,arr), thisValue);  // 用于检测数组所有元素是否都符合指定条件(通过函数提供)。如果数组中检测到有一个元素不满足,则返回 false ,剩余的元素不再检测。如果所有元素都满足条件,则返回 true。

    item 是元素。
    index 是它的索引。
    arr 是数组本身。
    thisValue 执行回调时用作this 的对象。

     
    arrayObj.reduce(function( totalcurrentValue, currentIndexarr), initialValue);  // 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

    total         必需。初始值, 或者计算结束后的返回值。
    currentValue    必需。当前元素
    currentIndex    可选。当前元素的索引
    arr          可选。当前元素所属的数组对象。
    initialValue    可选。传递给函数的初始值

    字符串篇:

    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 --

  • 相关阅读:
    sqlserver读取日志以及复制
    SqlServer 2012 清理日志 截断日志的方法
    android Qzone的App热补丁热修复技术
    热修复技术学习总结
    android免root hook框架legend
    Dalvik虚拟机java方法执行流程和Method结构体分析
    Andfix热修复技术使用
    OKHttp概览
    B-tree B+tree适合文件系统索引和MySQL索引
    B-tree B+tree B*Tree
  • 原文地址:https://www.cnblogs.com/_error/p/11244942.html
Copyright © 2011-2022 走看看