我有一个数组
var arr = ["1", "3", "2", "4"];
我需要一个基于给定键值返回下一个或上一个数组键的函数:
function closestTo(arr, key, direction) {
// do stuff here and return the next or previous id
}
因此,找到4的下一个,我调用该函数;closestTo(arr, 4, 'next' )
这应该返回1
并且closestTo(arr, 4, 'prev' )
应该返回2
下划线也可以实现这一点吗?
也许是这样的吗?
function closestTo(arr, key, direction) {
var offset_index = (direction === 'prev') ? -1 : 1;
// Convert to integers
var intarr = arr.map(function(x) {
return parseInt(x, 10);
});
return intarr[(intarr.length + intarr.indexOf(key) + offset_index) % intarr.length];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句