操作js数组跟字符的注意点

slice/splice/split区别

slice (数组、字符串)

① array.slice(start,end);
解释:该方法是对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选)

1
2
3
4
5
6
7
// slice
var a = [1,2,3,4,5,6];
var b = a.slice(0,3); //[1,2,3]
var c = a.slice(3); //[4,5,6]
var d = a.slice(-2); //[5,6]
var e = a.slice(-7); //[1,2,3,4,5,6]
var f = a.slice(9); //[]

② string.slice(start,end);
解释:slice方法复制string的一部分来构造一个新的字符串,用法与参数匀和数组的slice方法一样;end参数等于你要取的最后一个字符的位置值加上1

1
2
3
// slice
var str = 'hi slice'
var e = str.slice(2); // slice

splice (数组)

array.splice(start,deleteCount,item…);
解释:splice方法从array中移除一个或多个数组,并用新的item替换它们。参数start是从数组array中移除元素的开始位置。参数deleteCount是要移除的元素的个数。如果有额外的参数,那么item会插入到被移除元素的位置上。它返回一个包含被移除元素的数组。

1
2
3
//splice
var a = ['a','b','c','d'];
var b = a.splice(1,1,'r','t'); // a = ['a','r','t','c','d'] b = ['b']

split (字符串)

string.split(separator,limit);
解释:split方法把这个string分割成片段来创建一个字符串数组。可选参数limit可以限制被分割的片段数量。separator参数可以是一个字符串或一个正则表达式。如果separator是一个空字符,会返回一个单字符的数组。

1
2
3
//split
var a = '2736762687';
var b = a.split(''); //b =["2", "7", "3", "6", "7", "6", "2", "6", "8", "7"] a = '2736762687';
0%