一、前言
瀑布流中需要用到一个获取数组中最小下标的函数。一直在是不是有更简洁的方式。以下是我自己写的一个方法,真心希望同仁们能给我一个更好的办法:
二、Coding Show
简单但是还是有点长的代码如下:
// [1,2,0,4] return 2
getMinPos: function() {
var arr = this.collectHeight,
len = arr.length,
min = arr[--len],
pos;
while(len--) {
if(min > arr[len]) {
min = arr[len];
pos = len;
}
}
return pos;
}
因为瀑布流中每次插入一个图片数据后,都需要重新获取最小的哪个高度。以至于这个函数的执行次数应该是:n* (len+1)/2 也就是n的一个倍数。这里的n指代的是所有图片的个数,len指代的是图片展示的列数。