js的slice函数

对于array对象的slice函数,
返回一个数组的一段。(仍为数组)
arrayObj.slice(start, [end])  
参数
arrayObj  
必选项。一个 Array 对象。  
start  
必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。  
end  
可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。  
说明
slice 方法返回一个 Array 对象,其中包含了 arrayObj 的指定部分。
slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。
示例
在下面这个例子中,除了最后一个元素之外,myArray 中所有的元素都被复制到 newArray 中:  
newArray = myArray.slice(0, -1)

--------str的slice

<script type="text/javascript">

function Request(valuename,testurl)
{
var rtnval ;
//获取当前网页地址信息http://192.168.1.240:85/test/asp/Crmkorea_co_kr/test.htm?PARA1=ATEST
//var nowAddress = unescape(location.href) ;
var nowAddress = testurl
var parameters = new Array() ;
alert(nowAddress.slice(nowAddress.indexOf("?")+1, nowAddress.length))
parameters = (nowAddress.slice(nowAddress.indexOf("?")+1, nowAddress.length)).split("&") ;
for(var i=0;i<parameters.length;i++)
{ alert(i + "--" + parameters[i])
   if(parameters[i].indexOf(valuename) != -1)
   {
    rtnval = parameters[i].split("=")[1] ;
    if(rtnval == undefined || rtnval == null)
    {
     rtnval = "" ;
    }
    return rtnval ;
   }
   else{
   // alert(parameters[0].indexOf(valuename))
   // alert("request must from :" + valuename)
    }
}
return ""
//alert(rtnval) ;
}
var myaddr = "http://www.HCSTID.com/?para1=test1&PARA1=test2"
alert(Request("PARA1",myaddr)) //检查地址中是否包含参数para1,并返回该参数的值
</script>

 测试:

var arr = new Array(6)
arr[0] = "G"
arr[1] = "J"
arr[2] = "T"
arr[3] = "Jam"
arr[4] = "Adr"
arr[5] = "Mar"
document.write(arr.slice(-2,6) + "<br />")
arr.slice(2,5)

arr.slice(-4,-2)

arr.slice(2,-3)
 


 

原文地址:https://www.cnblogs.com/yuzhongwusan/p/1906494.html