アレイのすべてのインスタンスではなく、現在のインスタンスのみを削除するにはどうすればよいですか?アレイのすべてのインスタンスではなく、アレイの現在のインスタンスだけを削除するにはどうすればよいですか?
var persons = [];
showAllButton.onclick = function() {
while (showList.firstChild)showList.removeChild(showList.firstChild);
新しいノードインスタンスが作成されました。
プッシュされたインスタンスを正しく表示します。
listNode.innerHTML =
'<p><b>Full Name:</b> ' + persons[l].firstName +' ' + persons[l].lastName + '</p>' +
'<p><b>Phone:</b> ' + persons[l].phone + '</p>' +
'<p><b>Address:</b> ' + persons[l].address + '</p>'
}
次の関数のいくつかのバリエーションを試してみましたが、配列を空にするか、少なくとも修正された配列を返しません。
btn.onclick = function() {
var index = Array.indexOf(persons[l]);
persons.splice(index, 1);
return persons;
}
if (showAllButton.value=="Show Contacts") {
showAllButton.value = "Hide Contacts";
showList.style.display = "block";
}
else if (showAllButton.value = "Hide Contacts") {
showAllButton.value = "Show Contacts";
showList.style.display = "none";
}
}
ループ内の*クロージャー内部を見てください* –
'Array.indexOf(persons [l]);'?これは何をするはずですか? –
'else if(showAllButton.value =" Hide Contacts ")'は値を文字列リテラルと比較せず、値を割り当てます。 –