题目:

让我们来丢弃数组(arr)的元素,从左边开始,直到回调函数return true就停止。

第二个参数,func,是一个函数。用来测试数组的第一个元素,如果返回fasle,就从数组中抛出该元素(注意:此时数组已被改变),继续测试数组的第一个元素,如果返回fasle,继续抛出,直到返回true。

最后返回数组的剩余部分,如果没有剩余,就返回一个空数组。

提示:

当function作为参数时,直接当做方法使用。

代码:

<script type="text/javascript">
	function drop(arr, func) {
		// Drop them elements.
		while (!func(arr[0])) {
			arr.shift();
		}
		return arr;
	}

	drop([0, 1, 0, 1], function(n) {
		return n === 1;
	});

	//方法2
	function drop(arr, func) {
		// Drop them elements.
		var newarr = [];
		newarr = arr.filter(func);
		if (newarr == false) {
			return [];
		} else {
			var index = arr.indexOf(newarr[0]);
			return arr.slice(index);
		}

	}
</script>

 

原文:https://blog.csdn.net/qq_34067556/article/details/82384495