队友该卖就卖,千万别舍不得。数组
当你的队伍被敌人包围时,你选择拯救谁、抛弃谁很是重要,若是选择错误就会形成团灭。浏览器
若是是AD或AP,优先拯救。函数
由于AD和AP是队伍输出的核心。测试
其次应该拯救打野。code
由于打野死了对面就能够无所顾虑地打龙。ip
最后才是辅助或上单。element
由于辅助和上单都是肉,死了也不会对团队形成毁灭性影响,该卖就卖。get
但真实中的团战远比这要复杂,你的队伍极可能会被敌人分割成2个或3个部分。回调函数
当你救了一个重要的人时,极可能其余队友也会所以获救。io
举个例子:
辅助和AD常常是在一块儿的,打野和中单在一块儿,上单常常一我的。
你救了AD,辅助也常常所以获救。
让咱们来丢弃数组(arr)的元素,从左边开始,直到回调函数return true就中止。
第二个参数,func,是一个函数。用来测试数组的第一个元素,若是返回fasle,就从数组中抛出该元素(注意:此时数组已被改变),继续测试数组的第一个元素,若是返回fasle,继续抛出,直到返回true。
最后返回数组的剩余部分,若是没有剩余,就返回一个空数组。
Arguments object
Array.shift()
Array.slice()
drop([1, 2, 3, 4], function(n) {return n >= 3;})
应该返回 [3, 4]。drop([0, 1, 0, 1], function(n) {return n === 1;})
应该返回 [1, 0, 1]。drop([1, 2, 3], function(n) {return n > 0;})
应该返回 [1, 2, 3]。drop([1, 2, 3, 4], function(n) {return n > 5;})
应该返回 []。drop([1, 2, 3, 7, 4], function(n) {return n > 3;})
应该返回 [7, 4]。drop([1, 2, 3, 9, 2], function(n) {return n > 2;})
应该返回 [3, 9, 2]。用 while()
循环,当 func(arr[0])
不被知足时移除arr首项。而后继续遍历数组剩余部分。
要注意的是,当 func(arr[0])
一直不被知足时,arr首项将被无限多(浏览器最大值边界)次移除,即便arr为空数组也会循环此操做。为了保证效率,应加上限制条件 arr.length
阻止无限循环的发生。
function drop(arr, func) { // Drop them elements. while(!func(arr[0]) && arr.length) { arr.shift(); } return arr; } drop([1, 2, 3], function(n) {return n < 3; });