FCC 中级算法题 Drop it

Posted lailailee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FCC 中级算法题 Drop it相关的知识,希望对你有一定的参考价值。

Drop it

思路:
(1)先获得数组的长度(在后面的循环中数组的长度是变化的);
(2)根据数组的长度设计一个for循环(不能叫遍历了);
(3)获取当前数组的第一个元素(这里shift操作其实已经将数组改动了),如果符合func函数,就将刚才拿掉的第一个元素还给数组,
这么一来只要遇到第一个符合func函数的元素,arr数组就不会再变化了(一个减去,一个又添加回来),最后返回arr数组;
知识点:
(1)Array.shift()方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
(2)Array.unshift()方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
代码:
 1 function drop(arr, func) {
 2   // Drop them elements.
 3 var l=arr.length;
 4   for(var i=0;i<l;i++){
 5     var fir=arr.shift();
 6    if(func(fir)){
 7      arr.unshift(fir);  
 8    }
 9   }
10 
11   return arr;
12 }
13 
14 drop([1, 2, 3, 4,5], function(n) {return n > 4;});

 

以上是关于FCC 中级算法题 Drop it的主要内容,如果未能解决你的问题,请参考以下文章

FCC 中级算法题 Finders Keepers

FCC上的javascript算法题之中级篇

FCC 中级算法题 比较两个数组

FCC 中级算法题 碱基配对

FCC 中级算法题 最小公倍数

FCC 中级算法题 找到缺失的字母