当前位置: 代码网 > it编程>编程语言>Javascript > JavaScript修改、删除数组中某个对象的某个属性几种方法

JavaScript修改、删除数组中某个对象的某个属性几种方法

2024年10月30日 Javascript 我要评论
一 有几种方法可以用来修改javascript数组中对象的属性:使用array.map()方法使用for-of循环使用具有扩展运算符的array.map()方法使用foreach()方法使用find(

一  有几种方法可以用来修改javascript数组中对象的属性:

  • 使用array.map()方法
  • 使用for-of循环
  • 使用具有扩展运算符的array.map()方法
  • 使用foreach()方法
  • 使用find()方法和解构。

方法1:使用array.map()方法

使用map()方法根据指定的函数,通过转换原始数组的每个元素来创建一个新的数组。

let employees_data = [
    {
        employee_id: 1,
        employee_name: "aman",
    },
    {
        employee_id: 2,
        employee_name: "bhargava",
    },
    {
        employee_id: 3,
        employee_name: "chaitanya",
    },
];
 
const modifiedemployees = employees_data.map(obj => {
    if (obj.employee_id === 2) {
        return { ...obj, employee_name: "rahul" };
    }
    return obj;
});
 
console.log(modifiedemployees);

输出

[
  { employee_id: 1, employee_name: 'aman' },
  { employee_id: 2, employee_name: 'rahul' },
  { employee_id: 3, employee_name: 'chaitanya' }
]

方法2:使用for-of循环

使用for循环遍历一个包含对象的数组,根据条件查找并修改特定对象的属性。

let employees_data = [
    {
        employee_id: 1,
        employee_name: "aman",
    },
    {
        employee_id: 2,
        employee_name: "bhargava",
    },
    {
        employee_id: 3,
        employee_name: "chaitanya",
    },
];
for (let object of employees_data) {
    if (object.employee_id === 2) {
        object.employee_name = "anthony";
    }
}
console.log("updated data: ");
console.log(employees_data);

输出

updated data: 
[
  { employee_id: 1, employee_name: 'aman' },
  { employee_id: 2, employee_name: 'anthony' },
  { employee_id: 3, employee_name: 'chaitanya' }
]

方法3:使用array.map()与扩展运算符

使用array.map()创建一个带有扩展运算符的新数组,以修改特定对象的属性。

employees_data.map((employee) => {  
    if (employee.employee_id === 2) {  
        return {  
            ...employee,  
            employee_name: "anthony",  
        };  
    }  
    return employee;  
});

示例: 在这个示例中,我们将使用array.map()方法以及spread operator(…)将对象自身展开,以便通过使用先前创建的对象数组来更新现有对象的属性值。

let employees_data = [
    {
        employee_id: 1,
        employee_name: "aman",
    },
    {
        employee_id: 2,
        employee_name: "bhargava",
    },
    {
        employee_id: 3,
        employee_name: "chaitanya",
    },
];
let new_updated_data =
    employees_data.map((employee) => {
        if (employee.employee_id === 2) {
            return {
                ...employee,
                employee_name: "anthony",
            };
        }
        return employee;
    });
console.log("updated data: ");
console.log(new_updated_data);

输出

updated data: 
[
  { employee_id: 1, employee_name: 'aman' },
  { employee_id: 2, employee_name: 'anthony' },
  { employee_id: 3, employee_name: 'chaitanya' }
]

方法4:使用 foreach() 方法

使用 foreach() 方法,遍历对象数组,检查条件并修改匹配对象的属性

let employees_data = [
    {
        employee_id: 1,
        employee_name: "aman",
    },
    {
        employee_id: 2,
        employee_name: "bhargava",
    },
    {
        employee_id: 3,
        employee_name: "chaitanya",
    },
];
 
const modifyproperty = (arr, targetid, newproperty) => {
    arr.foreach(obj => {
        if (obj.employee_id === targetid) {
            obj.employee_name = newproperty;
        }
    });
};
 
modifyproperty(employees_data, 2, "ankit");
console.log(employees_data);
[
  { employee_id: 1, employee_name: 'aman' },
  { employee_id: 2, employee_name: 'ankit' },
  { employee_id: 3, employee_name: 'chaitanya' }
]

方法5:使用find()方法和解构

使用find()方法搜索具有指定属性值的对象,并使用解构修改属性。

let employees_data = [
    {
        employee_id: 1,
        employee_name: "aman",
    },
    {
        employee_id: 2,
        employee_name: "bhargava",
    },
    {
        employee_id: 3,
        employee_name: "chaitanya",
    },
];
 
const modifyproperty = (arr, targetid, newproperty) => {
    const targetobj = arr.find(obj => obj.employee_id === targetid);
    if (targetobj) {
        targetobj.employee_name = newproperty;
    }
};
 
modifyproperty(employees_data, 2, "kavita");
console.log(employees_data);
[
  { employee_id: 1, employee_name: 'aman' },
  { employee_id: 2, employee_name: 'kavita' },
  { employee_id: 3, employee_name: 'chaitanya' }
]

二  javascript删除数组对象中的某个对象里的某个属性

方法1:使用for循环

let employ = [
    {
        employid: 1,
        employname: "aman",
        employage:"15"
    },
    {
        employee_id: 2,
        employee_name: "bhargava",
        employage:"16"
    },
    {
        employee_id: 3,
        employee_name: "chaitanya",
        employage:"17"
    },
];
       for(var i =0;i<employ.length;i++){
        if(employ[i].employid===1){
           delete employ[i].employage
        }}
console.log(employ)

输出:
[
    {
        employid: 1,
        employname: "aman",
    },
    {
        employee_id: 2,
        employee_name: "bhargava",
        employage:"16"
    },
    {
        employee_id: 3,
        employee_name: "chaitanya",
        employage:"17"
    },
];

可以看到上面打印输出第一条对象里的年龄属性删除了

总结

到此这篇关于javascript修改、删除数组中某个对象的某个属性几种方法的文章就介绍到这了,更多相关js修改、删除数组某个属性内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com