对于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>
测试:
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 />")