簡體   English   中英

使用 for 循環從數組中刪除 object 而不影響數組的 rest

[英]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()方法有兩個參數(用於您的目的)。 參數是indexamountToDelete 比如做employees.splic(3, 1); 將從列表中刪除第四個員工。

以下是您在上下文中的操作方式:

employees.forEach(function(obj, index){
    for (let key in obj){
        if (obj[key] === "Theo") {
            employees.splice(index, 1);
        }
    }
});
  1. 拿到鑰匙。
  2. 遍歷密鑰,將它們與 object 一起使用以獲得價值。
  3. 如果找到,請刪除,然后中斷,因為無需繼續。
  4. 利潤。

     var keys = Object.keys(employees); keys.forEach(k => { if (employees[k] == "Theo") { delete employees[k]; break; } });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM