最近做了一个交互位置的东西,忽然发现其实可以用一些比较简单的做法来做,还记得冒泡排序,快速,插入,估计除了冒泡,快速也是经常容易忘记的。不用很快就会忘记的,包括自己也是。好记性不如烂笔头。记下最近做一个小技巧。
例如做引导的时候,需要将指定的物品排在最前面,于是想到循环然后删除那个值,再unshift到第一位。这种做法也是可以走得通。想想其实排序算法当中也包括这个交互位置的做法。方法很简单,但是凑效。就是匹配到目标物品的ID,然后进行和第一个值交互位置。这样就能达到想要的效果了
例如:[101,102,103,104,108,106,107]; 一组物品的ID 值,我想将106排序到第一位,于是通过循环匹配到第一位然后和第一位调换位置。物品就能制定到对应的位置了
- ---->【106,102,103,104,108,101,107】;
这样就可以达到我们想要的效果了。其实不难,但是发现之前学的排序算法还是有点用处的。不然老是死记那些,就等于用来忘记了
//物品数组
var items:Array = [101,102,103,104,108,106,107];
var len:int = items.length;
var targetID:int = 106;
var firstID:int = items[0];
//交互位置
for (var i:int=0; i<len; i++)
{
if (items[i] == targetID)
{
var temp:int = items[i];
items[i]=items[0];
items[0]=temp;
break;
}
}
trace(items);