zoukankan      html  css  js  c++  java
  • Js数组和字符串常用方法

    字符串:

    1、concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。 

    2、indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。 

    3、charAt() – 返回指定位置的字符。 

    4、lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。 

    5、match() – 检查一个字符串是否匹配一个正则表达式。 

    6、substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。 

    7、replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。 

    8、search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。 

    9、slice() – 提取字符串的一部分,并返回一个新字符串。 

    10、split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。 

    11、length – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。 

    12、toLowerCase() – 将整个字符串转成小写字母。 

    13、toUpperCase() – 将整个字符串转成大写字母。

    数组:

    1.push(): 向数组尾部添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。

    1 var arr = [1,2,3];
    2 console.log(arr);        //  [1, 2, 3]
    3 var b = arr.push(4);  
    4 console.log(b);          //  4   //表示当前数组长度
    5 console.log(arr);        // [1, 2, 3, 4]   

    pop(): 删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组。

    1 var arr = [1,2,3];
    2 console.log(arr);                // [1,2,3]
    3 arr.pop();
    4 console.log( arr.pop() );  // [3]  //返回删除的元素
    5 console.log(arr);                // [1,2] 

     2.unshift():在数组的第一个位置添加元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。

    1 var arr = ['a', 'b', 'c'];
    2 arr.unshift('x');        // 4
    3 console.log(arr);        // ['x', 'a', 'b', 'c']

    shift():删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组。

    1 var arr = ['a', 'b', 'c'];
    2 arr.shift()         // 'a'
    3 console.log(arr)     // ['b', 'c']    

    shift()方法还可以遍历并清空一个数组。

    复制代码
    1 var list = [1, 2, 3, 4, 5, 6];
    2 var item;
    3 
    4 while (item = list.shift()) {
    5   console.log(item);
    6 }
    7 
    8 console.log(list);     // []
    复制代码

     3.valueOf():返回数组的本身。

    1 var arr = [1, 2, 3];
    2 arr.valueOf()     // [1, 2, 3]    

    indexOf():返回指定元素在数组中出现的位置,如果没有出现则返回-1

    1 var arr = ['a', 'b', 'c'];
    2 
    3 arr.indexOf('b') // 1
    4 arr.indexOf('y') // -1

    indexOf方法还可以接受第二个参数,表示搜索的开始位置。

    1 ['a', 'b', 'c'].indexOf('a', 1)     // -1

    上面代码从1号位置开始搜索字符a,结果为-1,表示没有搜索到。

    toString():返回数组的字符串形式。

    1 var arr = [1, 2, 3];
    2 arr.toString()     // "1,2,3"
    3 
    4 var arr = [1, 2, 3, [4, 5, 6]];
    5 arr.toString()     // "1,2,3,4,5,6"

    4.join():以参数作为分隔符,将所有数组成员组成一个字符串返回。如果不提供参数,默认用逗号分隔。

    1 var arr = [1, 2, 3, 4];
    2 
    3 arr.join(' ')     // '1 2 3 4'
    4 arr.join(' | ')     // "1 | 2 | 3 | 4"
    5 arr.join()     // "1,2,3,4"

    5.concat():用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。

    1 var arr = [1,2,3];
    2 var b = arr.concat([4,5,6]);
    3 console.log(b);        //[1,2,3,4,5,6]

    6.reverse():用于颠倒数组中元素的顺序,返回改变后的数组。注意,该方法将改变原数组。

    1 var arr = ['a', 'b', 'c'];
    2 
    3 arr.reverse() // ["c", "b", "a"]
    4 console.log(arr) // ["c", "b", "a"]

    7.slice():用于截取原数组的一部分,返回一个新数组,原数组不变。

    slice(start,end)它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。

    复制代码
     1 var arr = ['a', 'b', 'c'];
     2 
     3 arr.slice(0)         // ["a", "b", "c"]
     4 arr.slice(1)         // ["b", "c"]
     5 arr.slice(1, 2)     // ["b"]
     6 arr.slice(2, 6)     // ["c"]
     7 arr.slice()           // ["a", "b", "c"]    无参数返回原数组
     8 
     9 arr.slice(-2)          // ["b", "c"]    参数是负数,则表示倒数计算的位置
    10 arr.slice(-2, -1)     // ["b"] 
    复制代码

    8.splice():删除原数组的一部分成员,并可以在被删除的位置添加入新的数组成员,返回值是被删除的元素。注意,该方法会改变原数组。

    splice(start,delNum,addElement1,addElement2,...)第一个参数是删除的起始位置,第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素。

    1 var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
    2 arr.splice(4, 2)     // ["e", "f"]  从原数组4号位置,删除了两个数组成员
    3 console.log(arr)     // ["a", "b", "c", "d"]
    1 var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
    2 arr.splice(4, 2, 1, 2)     // ["e", "f"]  原数组4号位置,删除了两个数组成员,又插入了两个新成员
    3 console.log(arr)         // ["a", "b", "c", "d", 1, 2]
    1 var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
    2 arr.splice(-4, 2)     // ["c", "d"]    起始位置如果是负数,就表示从倒数位置开始删除
    1 var arr = [1, 1, 1];
    2 
    3 arr.splice(1, 0, 2)     // []    如果只插入元素,第二个参数可以设为0
    4 conlose.log(arr)     // [1, 2, 1, 1]
    1 var arr = [1, 2, 3, 4];
    2 arr.splice(2)     // [3, 4] 如果只有第一个参数,等同于将原数组在指定位置拆分成两个数组
    3 console.log(arr)     // [1, 2]

    9.sort():对数组成员进行排序,默认是按照字典顺序排序。排序后,原数组将被改变。

    复制代码
     1 ['d', 'c', 'b', 'a'].sort()
     2 // ['a', 'b', 'c', 'd']
     3 
     4 [4, 3, 2, 1].sort()
     5 // [1, 2, 3, 4]
     6 
     7 [11, 101].sort()
     8 // [101, 11]
     9 
    10 [10111, 1101, 111].sort()
    11 // [10111, 1101, 111]
    复制代码

    上面代码的最后两个例子,需要特殊注意。sort方法不是按照大小排序,而是按照对应字符串的字典顺序排序。也就是说,数值会被先转成字符串,再按照字典顺序进行比较,所以101排在11的前面。

    如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数,表示按照自定义方法进行排序。该函数本身又接受两个参数,表示进行比较的两个元素。如果返回值大于0,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。

    复制代码
     1 var arr = [10111, 1101, 111];
     2 arr.sort(function (a, b) {
     3   return a - b;
     4 })
     5 // [111, 1101, 10111]
     6 
     7 var arr1 = [
     8               { name: "张三", age: 30 },
     9               { name: "李四", age: 24 },
    10               { name: "王五", age: 28 }
    11            ]
    12 
    13 arr1.sort(function (o1, o2) {
    14   return o1.age - o2.age;
    15 }) 
    16 // [
    17 //   { name: "李四", age: 24 },
    18 //   { name: "王五", age: 28 },
    19 //   { name: "张三", age: 30 }
    20 // ]
    复制代码

    10.map():对数组的所有成员依次调用一个函数,根据函数结果返回一个新数组。

    复制代码
    1 var numbers = [1, 2, 3];
    2 
    3 numbers.map(function (n) {
    4   return n + 1;
    5 });
    6 // [2, 3, 4]
    7 
    8 numbers
    9 // [1, 2, 3]
    复制代码

    上面代码中,numbers数组的所有成员都加上1,组成一个新数组返回,原数组没有变化。

     11.filter():参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。

    1 var arr = [1, 2, 3, 4, 5]
    2 arr.filter(function (elem) {
    3   return (elem > 3);
    4 })
    5 // [4, 5]
  • 相关阅读:
    我的WCF之旅(1):创建一个简单的WCF程序
    与众不同 windows phone (15) Media(媒体)之后台播放音频
    与众不同 windows phone (14) Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成
    与众不同 windows phone (10) Push Notification(推送通知)之推送 Tile 通知, 推送自定义信息
    与众不同 windows phone (17) Graphic and Animation(画图和动画)
    与众不同 windows phone (5) Chooser(选择器)
    与众不同 windows phone (26) Contacts and Calendar(联系人和日历)
    与众不同 windows phone (7) Local Database(本地数据库)
    与众不同 windows phone (19) Device(设备)之陀螺仪传感器, Motion API
    与众不同 windows phone (16) Media(媒体)之编辑图片, 保存图片到相册, 与图片的上下文菜单“应用程序...”和“共享...”关联, 与 Windows Phone 的图片中心集成
  • 原文地址:https://www.cnblogs.com/songhello/p/6625074.html
Copyright © 2011-2022 走看看