我有兩個輸入,一個是我選擇一個字母的地方,另一個是我說要拼接多少個字母出現的地方。現在我只能刪除從輸入框中選擇的所有信件,但我希望能夠設置我可以刪除的同一信件的數量。JavaScript - 從數組中刪除相同的出現
例如:
我有類似下面的陣列,我想只刪除所述第一「A」。如果我在輸入中輸入1,它應該這樣做。如果我放2,那麼它應該從數組中刪除第一個和第二個「a」。
它看起來很容易,但我不能想出一個解決方案來設置我想要他們刪除多少。
var letters = ["a","b","c","a"];
function deleteLetter() {
var valChosenLetter = document.getElementById("chosen-letter").value;
var valHowManyToDelete = document.getElementById("how-many-to-delete").value;
for (var i = letters.length -1; i >= 0; i--) {
if(letters[i] == valChosenLetter)
{
letters.splice(i, 1);
}
};
console.log(letters);
}
我手工做的,但是這不是解決方法:
var letters = ["a","b","c","a"];
function deleteLetter() {
var valChosenLetter = document.getElementById("chosen-letter").value;
var valHowManyToDelete = document.getElementById("how-many-to-delete").value;
for (var i = letters.length -1; i >= 0; i--) {
if(letters[i] == valChosenLetter)
{
if(valHowManyToDelete < 2)
{
letters.splice(i, 1);
break;
}
else
{
letters.splice(i, 1);
}
}
};
console.log(letters);
}
'return!(val === valChosenLetter && howManyToDelete - )' –