有用的数组实用程序-随机,随机,移除,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有用的数组实用程序-随机,随机,移除,相关的知识,希望对你有一定的参考价值。

Sometimes you need special array functions, not build in AS3. Special ArrayUtils class with some static methods can help us :)
  1. //The static methods only:
  2.  
  3. //SHUFFLE
  4. /*
  5. array - array to shufle
  6. startIndex = the start index of the element
  7. endIndex = int, should be array.length-1 to shuffle all
  8. */
  9. public static function shuffle(array:Array, startIndex:int = 0, endIndex:int = 0):Array{
  10. if(endIndex == 0){
  11. endIndex = array.length-1;
  12. }
  13. for (var i:int = endIndex; i>startIndex; i--) {
  14. var randomNumber:int = Math.floor(Math.random()*endIndex)+startIndex;
  15. var tmp:* = array[i];
  16. array[i] = array[randomNumber];
  17. array[randomNumber] = tmp
  18. }
  19. return array;
  20. }
  21.  
  22. //Random element
  23. static public function random(array:Array):*{
  24. return array.length ? array[Math.floor(Math.random()*array.length)] : null
  25. }
  26.  
  27. //removes elemnt from array
  28. public static function remove(array:Array, elem:*):Array {
  29. return array.filter(function(item:*, index:int, arr:Array):Boolean{ return item != elem })
  30. }
  31.  
  32. /**
  33. *Returns last element of the array
  34. **/
  35. public static function last(array:Array):*{
  36. return array.length ? array[array.length-1] : null;
  37. }
  38.  
  39. //previuos element of array
  40. static public function previous(array:Array, elem: *):*{
  41. return array.indexOf(elem) >=0 ? array[array.indexOf(elem)-1] : null;
  42. }
  43.  
  44. //next element of array (array, element)
  45. static public function next(array:Array, elem: *):*{
  46. return array.indexOf(elem) < array.length-1 ? array[array.indexOf(elem)+1] : null;
  47. }

以上是关于有用的数组实用程序-随机,随机,移除,的主要内容,如果未能解决你的问题,请参考以下文章

数组的随机数

21个常用代码片段

js实现从数组里随机获取元素

PHP 代码片段

如何使用范围中的随机值填充数组? (重复没问题。)

12 个非常实用的 JavaScript 函数