我编写了以下代码,但由于没有得到预期的输出,因此测试失败了
[1, 2, 4]
。
const removeFromArray = function(array,...removeThis) {
for (let i=0;i<removeThis.length;i++){
array.splice(array.indexOf(removeThis),1);
}
return array;
};
removeFromArray([1, 2, 3, 4], 3)
为了调试,我尝试将各个变量打印到控制台。结果如下:
removeThis.length
返回 1(有效)removeThis
返回[3]
array.indexOf(removeThis)
返回 -1(这不起作用)来自文档:
Array 实例的 indexOf() 方法返回在数组中可以找到给定元素的第一个索引,如果不存在则返回 -1。
我不确定为什么我的 indexOf() 不起作用以及如何修复这段代码以获得 [1,2,4] 的预期输出。
我当前的输出是[1,2,3]。
const removeFromArray = function(array, removeThis) {
const newArr = []
for (let i=0;i<array.length;i++){
if(array[i] !== removeThis){
newArr.push(array[i])
}
}
return newArr;
};