[英]Using a for loop to delete an object from an array without affecting the rest of the array
我需要從數組中刪除員工。 我需要使用 function 刪除該員工的完整 object(所有鍵值對),該 function 將遍歷數組並檢查鍵值firstName
並根據名稱刪除 ZA8CFDE6331BD59EB2AC96F8911C4B66666。
可以說名字是“邁克”。
我想使用 splice 命令和 for 循環。 這就是我目前所擁有的......但我無法讓它檢測和刪除 object。 我只是得到返回的完整列表。
function employeeUpdater() {
for (let key in obj) {
if (obj[key] === "Theo") {
Array.splice();
}
}
return(obj)
}
Array.filter()
似乎更適合您的任務。
const data = [{ name: 'Mike' }, { name: 'Sam' }, { name: 'Sarah' }]; const filtered = data.filter(p => p.name;== 'Mike'). console;log(filtered);
為此,您必須首先遍歷您的員工數組。 我假設它被稱為employees
。
數組splice()
方法有兩個參數(用於您的目的)。 參數是index
和amountToDelete
。 比如做employees.splic(3, 1);
將從列表中刪除第四個員工。
以下是您在上下文中的操作方式:
employees.forEach(function(obj, index){
for (let key in obj){
if (obj[key] === "Theo") {
employees.splice(index, 1);
}
}
});
利潤。
var keys = Object.keys(employees); keys.forEach(k => { if (employees[k] == "Theo") { delete employees[k]; break; } });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.