JavaScript中的slice函数

Posted 奔跑的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中的slice函数相关的知识,希望对你有一定的参考价值。

String.slice(start,end)

slice()返回一个子片段,对原先的string没有影响,与subString的区别是,还可以用负数当参数,相当于是length+start,length+end.

例1:

var s = "abcdefg";
s.slice(0,4)    // "abcd"
s.slice(2,4)    // "cd"
s.slice(4)      // "efg"
s.slice(3,-1)   // "def"
s.slice(3,-2)   // "de"
s.slice(-3,-1)  // "ef"

 

Array.slice(start,end)

返回从start开始到end的子数组,如果end这个参数没有被设置,则返回从start开始到最后的数组元素。

例2:

var a = [1,2,3,4,5];
a.slice(0,3);    // [1,2,3]
a.slice(3);      // [4,5]
a.slice(1,-1);   // [2,3,4]
a.slice(-3,-2);  // [3]

 

除了正常用法,slice 经常用来将 array-like 对象转换为 true array。在一些框架中会经常有这种用法。

Array.prototype.slice.call(arguments);//将参数转换成真正的数组.

因为arguments不是真正的Array,虽然arguments有 length属性,但是没有slice方法,所以呢,Array.prototype.slice()执行的时候,Array.prototype已经被 call改成arguments了,因为满足slice执行的条件(有length属性).

 

转自:http://www.cnblogs.com/onlywujun/p/3515813.html

 

以上是关于JavaScript中的slice函数的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript slice() 方法

javascript slice字符串切片函数

javascript中不易分清的slice,splice和split三个函数

关于 JavaScript 的 slice 和 splice 方法的一个问题

javascript中的slice()方法

JavaScript中的Array.prototype.slice.call()方法学习