第一次發帖,基本上是在做Odin專案Exercise 04 - removeFromArray excercise:
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));
任何有關如何執行此操作的幫助或建議將不勝感激。謝謝!
uj5u.com熱心網友回復:
args是一個引數陣列。所以你只需要過濾原始array并過濾掉陣列中的那些元素args:
function removeFromArray(array, ...args) {
return array.filter(x => !args.includes(x))
};
console.log(removeFromArray([1, 2, 3, 4], 3, 2));
給你:
[1, 4]
uj5u.com熱心網友回復:
args是一個陣列,所以你可以回圈它forEach并從你的array1
const removeFromArray = function (array1, ...args) {
args.forEach((arg) => {
const index = array1.indexOf(arg);
if (index > -1)
array1.splice(index, 1);
});
return array1;
};
console.log(removeFromArray([1, 2, 3, 4], 3, 2, 5));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/444661.html
標籤:javascript 数组 功能
上一篇:在一組資料框中查找和重命名列
