JS中字符串和数组常见的方法汇总

字符串相关的方法

  1. substr(start,len)/substring(start,end)/slice: 提取指定区间的字符串

    > var str = 'ilovexingxing'
    > str.slice(1,5) 'love' //不包括右侧的值
    > str.substring(1,5) 'love' //和slice等价 
    > str.substr(1,5) 'lovex' //包括右侧的值
    > str.slice(1) 'lovexingxing' //省略第二个参数时三者等价
    > str.substr(1) 'lovexingxing'
    > str.substring(1) 'lovexingxing'
    
  2. indexOf/lastIndexOf:从向前向后/从后向前查找字符串中是否存在某字符, 存在返回索引值, 不存在返回 -1

    > str.indexOf('i') 0
    > str.lastIndexOf('i') 10
    > str.indexOf('q') -1  
    
  3. replace:替换字符串特定的字符

  4. split: 以指定字符拆分字符串,原对象不改变

    > var txt = 'a,b,c,d,e'
    > txt.split(",")  [ 'a', 'b', 'c', 'd', 'e' ]
    > txt.split("|")   [ 'a,b,c,d,e' ] //字符串中没有指定字符,作为一个整体保存到数组中
    > txt  'a,b,c,d,e
    
  5. toUpperCase/toLowerCase:将字符串转成大/小写

  6. trim: 去除字符串两侧的空格

  7. charAt:获取字符串中指定索引的字符

  8. concat:拼接字符串

    > var s = 'iamhurst'
    > str.concat(s) 'ilovexingxingiamhurst'
    > str 'ilovexingxing' //原字符串不改变
    > s 'iamhurst'
    
  9. match/search:查找指定的字符/正则表达式,返回索引

    > str.match('x') ['x',index:5,input:'ilovexingxing',groups:undefined] //返回一个对象
    > str.search('x')  5  //返回number
    

数组相关的方法

  1. push:将元素添加到数组的末尾, 返回值是数组长度

  2. pop:将数组最后一个元素弹出, 返回值是被弹出的元素

  3. unshift:在数组的开头插入一个元素,返回值是数组的长度

  4. shift:将数组第一个元素弹出,返回值是被弹出的元素

  5. concat:连接数组

  6. slice: 取出指定区间的元素

    > fruits [ 'Banana', 'Orange', 'Apple', 'Mango' ]
    > fruits.slice(2)    [ 'Apple', 'Mango' ] // 只有一个参数时,取出指定索引到最后一个元素
    > fruits.slice(0,2)  [ 'Banana', 'Orange' ] //取出指定区间的元素,不包括右侧的值
    > fruits  [ 'Banana', 'Orange', 'Apple', 'Mango' ] //不改变原数组
    
  7. splice(index,len,*arr):删除数组中指定元素 ,也可添加指定的元素

    > arr  [ 100, 40, 25, 10, 5, 1 ]
    > arr.splice(2,2)  [ 25, 10 ]  //返回的是被移除的元素
    > arr [ 100, 40, 5 ]  //原数组已经被改变
    > arr.splice(1,1,[1,2,3]) [ 40 ]
    > arr  [ 100, [ 1, 2, 3 ], 5 ] 也可添加新的元素
    > arr.splice(1,1,2,3,4) [ [ 1, 2, 3 ] ]
    > arr [ 100, 2, 3, 4, 5 ] //从第三个参数起,传入的参数都会被插进数组中 
    
  8. reverse: 反转数组

    > arr = [40,100,1,5,25,10]
    > arr.reverse() [ 10, 25, 5, 1, 100, 40 ]
    > arr [ 10, 25, 5, 1, 100, 40 ] 反转后数组被改变
    
  9. sort: 对数组进行排序

    > var arr = [40,100,1,5,25,10]
    > arr.sort()  [ 1, 10, 100, 25, 40, 5 ] // 不传入参数按照字母升序排序
    > arr.sort(function(a,b){return a-b})   [ 1, 5, 10, 25, 40, 100 ] //a-b 升序
    > arr.sort(function(a,b){return b-a})   [ 100, 40, 25, 10, 5, 1 ] //b-a 降序
    > arr  [ 100, 40, 25, 10, 5, 1 ] // 排序后原数组被改变
    
  10. join: 将数组拼接成字符串

  11. toString: 转换成字符串

    > var fruits = ["Banana", "Orange", "Apple", "Mango"]
    > fruits.toString()  'Banana,Orange,Apple,Mango'
    > fruits.join()  'Banana,Orange,Apple,Mango'  // 不传入参数时和toString等价
    > fruits.join('?') 'Banana?Orange?Apple?Mango' // 传入参数时以指定参数拼接数组元素
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值