tea*_*530 5 javascript arrays function
第一次发帖,基本上是在做 Odin 项目练习 04 - removeFromArray 练习:
https://github.com/TheOdinProject/javascript-exercises/tree/main/04_removeFromArray
我已经通过了第一个测试,但是,我不知道如何编写程序来处理多个可选参数。我知道我需要使用 ...arg,但不太了解如何开始或做什么,或者函数的一般构造,请有人帮助我了解如何进行此操作?下面是我的一个非常糟糕的尝试,它不起作用(甚至不确定我的逻辑是否正确以获得所需的输出):
const removeFromArray = function (array1, ...args) {
if (args == 3) {
array1.splice(2, 1);
return array1;
} else if (args == 3 || args == 2) {
array1.splice(2, 1);
return array1.splice(1,1);
}
};
console.log(removeFromArray([1, 2, 3, 4], 3, 2));
Run Code Online (Sandbox Code Playgroud)
任何有关如何执行此操作的帮助或建议将不胜感激。谢谢!
小智 7
args是一个参数数组。因此,您只需要过滤原始数据array并过滤掉 array 中的那些元素args:
function removeFromArray(array, ...args) {
return array.filter(x => !args.includes(x))
};
console.log(removeFromArray([1, 2, 3, 4], 3, 2));
Run Code Online (Sandbox Code Playgroud)
给你:
[1, 4]
Run Code Online (Sandbox Code Playgroud)