区分join(),split(),slice(),splice()

一曲冷凌霜 提交于 2020-01-15 04:10:30

先来体会他们的英文意思,join连接,加入;split,分裂;slice, 裁剪,切片;splice,拼接,

1,Array.prototype.splice():数组方法,删除数个元素,并插入新元素;

语法:Array.prototype.splice(start,deleteCount,item):

  • start,从start后面开始删除,
  • deleteCount,删除的数量,
  • item,要添加的项目,可以是很多个,
var ar = ['a','b','c'];
console.log(ar.splice(1,0,'Joe'));
//output:['a','Joe','b','c'];

2,Array.prototype.slice():数组方法,浅拷贝,不会改变原数组;

语法: Array.prototype.slice( [ begin [,end] ] )

  • begin,开始的地方,可选参数,如果没有这个参数,就从零开始,
  • end,结束的地方,可选参数,如果没有这个参数,一直到最后,
  • 裁剪的地方包括begin,不包括end
var ar = ['a','b','c'];
console.log(ar.slice(1,2,));
//output:['b']

3,String.prototype.slice():此方法和上一个一样,只不过也适用于字符串

4,Array.proyotype.join():数组方法,数组的所有元素用分隔符连接成字符串,返回字符串,不会改变原数组。

语法:Array.prototype.join([separator])

  • separatoe,可选参数,分隔符字符串,特殊参数类型有三种
一,
    如果没有参数
    var ar = ['a','b','c'];
    console.log(ar.join());
    //output: 'a,b,c'
二,
    如果参数为空格 ' '
    var ar = ['a','b','c'];
    console.log(ar.join(' '));
    //output: 'a b c'
三,
    如果为空字符串  ''
    var ar = ['a','b','c'];
    console.log(ar.join(''));
    //output: 'abc';

5,String.prototype.split(),字符串方法,正好是上面方法的逆运算,在字符串中以分隔符字符串为界分裂字符串为字符串数组,

并返回字符串数组,不会改变原来的字符串。

语法:String.prototype.split([separator])

  • separator,可选参数,分隔符字符串,参数的特殊类型有三种
一,没有参数
var str = "abc";
console.log(str.split());
output:['abcd']
二,空字符串
var str = "abc";
console.log(str.split(''));
output:['a','c','d']
三,空格字符串
var str = "abc";
console.log(str.split(' '));
//output:['abcd'],如果原字符串有空格则以空格为界,如果没有空格那么和没有参数一样

有时候经常会诸如字符串转数组,数组转字符串的情况下面小小总结,

字符串转数组,var str = 'abc' =>str.split('')=>['a','b','c'];

数组转字符串,var ar = ['a','b','c']=>ar.join('')=>'abc';

 

 

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!