不知道取什么名字,只好取一个大众的名字,当你真的想学习,因为以下是在qq群(jquery超级交流群)里面的问题,记录在这里,全当是留个念想了。
下面的方法是我认为最好的了,如果哪位有其他思路请指正。
1.查找数组中哪个和零最近,然后进行什么什么操作。最近正在重新学习underscore,所以下面的使用了里面的方法。
var result = {
min : Number.POSITIVE_INFINITY,
cache : []
}
_.each([1,2,3,1], function(v, i){
var v_abs = Math.abs(v);
if( v_abs - 0 < result.min ){
result.min = v_abs - 0;
result.cache.length = 0;
result.cache.push(v);
}else if( v_abs - 0 == result.min ){
result.cache.push(v);
}else{
return;
}
});
console.log(result.cache);
又写了其他的版本
var getCloseEle = (function(){
var min = Number.POSITIVE_INFINITY, cache;
window.cache = cache = [];
return function(v, i){
var v_abs = Math.abs(v);
if( v_abs - 0 < min ){
min = v_abs - 0;
cache.length = 0;
cache.push(v);
}else if( v_abs - 0 == result.min ){
cache.push(v);
}else{
return;
}
}
})()
_.each([1,2,3,1], getCloseEle);