字符串、数组、对象常用API

 常用的字符串API

 1.常见方法和属性

  length 属性,获取字符串的字符数量
  charAt(i) 返回给定位置的字符
  charCodeAt( ) 返回给定位置的字符的字符编码

1 <script type="text/javascript">
2         var s = "helloworld";
3         a = s.charAt(3); //2的结果一样
4         b = s.charCodeAt(3); //2的结果一样
5         console.log(a);
6         console.log(b);
7 </script>

控制台结果:

  concat( ):将一个或多个字符串拼接起来,返回拼接得到的新字符串,但是大多使用"+"拼接
  slice( ):(开始位置,返回字符后一个字符位置)
  substr( ):(开始位置,返回字符个数)
  substring( ):查找两个字符串之间的字符

  

  结果:

  

  indexOf( ):从前往后查找指定字符所在位置
  lastIndexOf( ):从后往前查找字符串所在位置,可以有第二个参数,代表从字符串中哪个位置开始查找。
  trim( ):删除前后置的所有空格,不包含中间的

1 <script type="text/javascript">
2         var a = " Hello World ";
3         console.log("" + a.trim() + "");
4 </script>

结果:

  toUpperCase( ): 把字符串转换为大写

  toLowerCase( ): 把字符串转换为小写

2.Javascript中String对正则表达式的支持

  search( ):检索第一个相匹配的子串的起始位置,如果没有找到任何匹配的子串返回 -1。如果参数不为正则表达式,则先通过RegExp将其转换为构造函数。

1 <script type="text/javascript">
2         var a = "Hello World";
3         b = a.search(/w/i);//i不区分大小写
4         console.log(b);
5 </script>

结果:

  replace( ):用字符串替换字符串,或者将正则表达式替换为字符串

1 <script type="text/javascript">
2         var a = "Hello World";
3         b = a.replace("World","jerry");//g全局搜索
4         console.log(b);
5 </script>

结果:

若将Hello World中的w改成小写,则直接输出的是a的结果

1 <script type="text/javascript">
2         var a = "Hello World";
3         b = a.replace(/world/gi,"jerry");//g全局搜索
4         console.log(b);
5 </script>

结果:

 match( ):第一个参数:要检索的字符串。第二个参数:要匹配的RegExp对象。如果不是 RegExp 对象,则先把它传递给RegExp构造函数,将其转换为 RegExp 对象

  该方法返回是指定的值,而不是字符串的下标

1 <script type="text/javascript">
2         var a = "Hello world!";
3         document.write(a.match("world") + "<br />");
4         document.write(a.match("World") + "<br />");
5         document.write(a.match("worlld") + "<br />");
6         document.write(a.match("world!") + "<br />");
7 </script>

结果:

split( ):把一个字符串分割成字符串数组(默认使用逗号进行分隔)

1 <script type="text/javascript">
2         var a = "How are you doing today?";
3         document.write(a.split(" ") + "<br />");
4         document.write(a.split("") + "<br />");
5         document.write(a.split(" ",3));
6 </script>

结果:

常用的数组API

1.检查数组  

Array.isArray( ):用于检查传递的值是不是一个Array  返回true或false

1 <script type="text/javascript">
2         var arr = [];
3         a = Array.isArray(arr);
4         console.log(a);
5 </script>

结果:

2.转换数组为字符串

    toLocaleString( )  把数组转换为本地字符串

1 <script type="text/javascript">
2         var arr = new Array(3);
3         arr[0] = "Tom";
4         arr[1] = "Jack";
5         arr[2] = "Merry";
6         console.log(arr.toLocaleString());
7 </script>

结果:

  toString( )  把一个逻辑值转换为字符串,并返回结果

1 <script type="text/javascript">
2         var a = new Boolean(true);
3         console.log(a.toString());
4 </script>

结果:

  join( )  把数组中的所有元素放入一个字符串

  

结果: 

 

3.栈,队列方法

 栈:后进先出

  push( ):向数组末尾添加一个或多个元素并返回长度值(会改变数组的长度)

1 <script type="text/javascript">
2         var arr = new Array("Tom","Jack","Rose");
3 
4         document.write(arr + "<br />");
5         document.write(arr.push("jerry") + "<br />");
6         document.write(arr + "<br />");
7 </script>

结果:

  pop( ):删除数组的最后一个元素并返回删除的元素(会改变数组的长度)如果数组为空,则不改变数组同时返回 undefined

1 <script type="text/javascript">
2         var arr = new Array("Tom","Jack","Rose");
3 
4         document.write(arr + "<br />");
5         document.write(arr.pop() + "<br />");
6         document.write(arr + "<br />");
7 </script>

结果:

队列:先进先出

  unshift( ):向数组开头添加一个或多个元素并返回长度值(会改变数组的长度)

1 <script type="text/javascript">
2         var arr = new Array("Tom","Jack","Rose");
3 
4         document.write(arr + "<br />");
5         document.write(arr.unshift("jerry") + "<br />");
6         document.write(arr + "<br />");
7 </script>

结果:

   shift( ):删除数组的第一个元素并返回删除的元素(会改变数组的长度)如果数组为空,则不改变数组同时返回 undefined

1 <script type="text/javascript">
2         var arr = new Array("Tom","Jack","Rose");
3 
4         document.write(arr + "<br />");
5         document.write(arr.shift() + "<br />");
6         document.write(arr + "<br />");
7 </script>

结果:

 4.排序

  reverse( ):将数组倒序输出(改变原数组,不生成副本)

1 <script type="text/javascript">
2         var arr = new Array("Tom","Jack","Rose");
3 
4         document.write(arr + "<br />");
5         document.write(arr.reverse() + "<br />");
6 </script>

结果:

  sort( ):对数组的元素进行排序(改变原数组,不生成副本)

1 <script type="text/javascript">
2         //定义数组
3         var countrys = ["Xian","Beijing","Shanghai","Guangdong","Shenzhen"];
4         //排序
5         countrys.sort();
6         //输出
7         document.write(countrys);
8 </script>

结果:

 1 <script type="text/javascript">
 2         //定义数组
 3         var countrys = ["Xian","Beijing","Shanghai","Guangdong","Shenzhen"];
 4         //定义比较函数
 5         function fun(a,b){
 6             //a>b取-1,a<b取-1,a=b取0
 7             return a == b ? 0:(a > b ? 1 : -1);
 8         }
 9         document.write(countrys.sort(fun));
10     </script>

结果:

5.操作方法

  concat( ):连接两个或多个数组(不会改变原数组,会创建副本并返回)

 1 <script type="text/javascript">
 2         //定义数组1
 3         var arr1 = [10,11,12,13];
 4         //定义数组2
 5         var arr2 = new Array();
 6         arr2[0] = 20;
 7         arr2[1] = 21;
 8         arr2[2] = 22;
 9         //
10         var arr3 = arr1.concat("---" + arr1 + "<br />");
11         var arr4 = arr1.concat("---" + arr2 + "<br />");
12         document.write(arr3);
13         document.write(arr4);
14 </script>

结果:

  slice( ):从数组中返回指定元素(不会改变原数组,会创建子数组并返回)

1     <script type="text/javascript">
2         //定义数组
3         var arr = new Array("Tom","Jack","Rose","Merry","John","Lisa");
4         //
5         document.write(arr + "<br />");
6         document.write(arr.slice(1) + "<br />");//未指定第二个参数则从开始位置输出到结束
7         document.write(arr.slice(-2) + "<br />");//负数从后向前选取
8         document.write(arr.slice(2,4) + "<br />");
9 </script>

结果:

splice( ):给数组添加或者删除元素(会改变原数组)

1 <script type="text/javascript">
2         //定义数组
3         var arr = new Array("Tom","Jack","Rose","Merry","John","Lisa");
4         //
5         document.write(arr + "<br />");
6         arr.splice(2,2);//从第二个开始(不包含)删除两个,第二个参数为0或为负数则不删除直接返回原数组
7         document.write(arr + "<br />");
8 </script>

结果:

1 <script type="text/javascript">
2         //定义数组
3         var arr = new Array("Tom","Jack","Rose","Merry","John","Lisa");
4         //
5         document.write(arr + "<br />");
6         arr.splice(2,0,"Tina");//用第三个参数替换第二个参数对应的值,第二个参数为0则不替换,而是添加
7         document.write(arr + "<br />");
8     </script>

结果:

 

1 <script type="text/javascript">
2         //定义数组
3         var arr = new Array("Tom","Jack","Rose","Merry","John","Lisa");
4         //
5         document.write(arr + "<br />");
6         arr.splice(2,2,"Tina");//从第二个参数开始(不包含)将后面的两个元素用Tina替换
7         document.write(arr + "<br />");
8 </script>

结果:

 

  indexOf( ):从前向后查找字符串第一次出现的位置并返回下标值,找不到返回 -1(区分大小写)

1 <script type="text/javascript">
2         var str="Hello world!";
3         console.log(str.indexOf("Hello"));
4         console.log(str.indexOf("World"));
5         console.log(str.indexOf("world"));
6 </script>

结果:

  lastIndexOf( ):从后向前查找指定字符串最后出现的位置并返回

1 <script type="text/javascript">
2                //0123456789
3         var str="Hello Hello world!";
4         console.log(str.lastIndexOf("Hello"));
5         console.log(str.lastIndexOf("World"));
6         console.log(str.lastIndexOf("world"));
7 </script>

结果:

6.迭代方法

  every( ):通过函数检查数组中的所有元素是否都满足给定的条件,如果所有条件都满足返回true,有一个不满足返回false并停止检测其它元素(不会改变原数组)

  some( ):通过函数检查数组中是否有元素满足给定的条件。如果有一个满足条件返回true并停止检测其它元素,如果都不满足则返回false(不会改变原数组)

  filter( ):检索数组中符合给定条件的元素并返回(不会改变原数组)

  map( ):对数组每个元素执行给定的函数,并返回执行后的结果数组(不会改变原数组)

  forEach( ):调用数组的每个元素并返回给回调函数

 常用的对象API

猜你喜欢

转载自www.cnblogs.com/mataoblogs/p/10771879.html
今日推荐