Han*_*ans 6 javascript arrays slice
让我们说:
var array = [0,1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
我定义:
var itemsToExtract = 5
var startindex = 7
var direction = "forward"
Run Code Online (Sandbox Code Playgroud)
我希望能够做到:
array.someMethod(startindex, itemsToExtract, direction)
Run Code Online (Sandbox Code Playgroud)
得到
[7,8,9,0,1]
Run Code Online (Sandbox Code Playgroud)
如果我将方向设置为"向后"(从右到左切片),我也希望它向后工作.
我不是太懒了,已经尝试了一些东西,请看这里:http://jsfiddle.net/MkNrr/
我正在寻找"更整洁"的东西,如果有的话,这个方法也有名称,这是一个已知的问题吗?
背景:我正在尝试构建一个顺序的预图像加载器(一个图像(src)加载另一个)以用于图像库.也许甚至这样的图书馆已经存在?
它不多,但看起来不错JS Bin:
function overSlice(arr, start, count, dir){
if(dir==='backward'){
arr = arr.reverse();
start = arr.length-start-1;
}
var lastIndex = start+count;
return arr.slice(start, lastIndex>arr.length?arr.length: lastIndex)
.concat(arr.slice(0, lastIndex>arr.length?lastIndex-arr.length: 0));
}
var arr = [0,1,2,3,4,5,6,7,8,9];
alert(overSlice(arr,7,5,'backward'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
746 次 |
| 最近记录: |