[英]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.