当我的dropWhile()方法调用drop()方法(如下)时,我在“ const dropArray = array.slice(n)”中收到错误:“ TypeError:arrayslice不是函数”。
我相信dropWhile()方法是正确的-因此这里不需要更改。
我已经尝试在drop()方法中解决TypeError并重新编写代码的问题-但请继续对此进行讨论-您能告诉我出什么问题了以及如何解决这个问题吗?我敢肯定这很简单...
drop: function(array,n){
if( n ===undefined){
var n = 1;
}
const droppedArray = array.slice(n);
return droppedArray;
},
dropWhile: function(array,predicate){
const dropNumber = array.findIndex(function(element, index){
return !predicate(element, index, array)
});
const dropArray = this.drop(dropNumber);
return dropArray;
}
答案 0 :(得分:0)
我认为您忘记了在drop
函数中传递数组:
const dropArray = drop(dropNumber); // <-- missing the array param
应该是:
const dropArray = drop(array, dropNumber);
现在发生的是,您的放置函数试图在此行找到的索引上调用slice
:
const dropNumber = array.findIndex(function(element, index){