Update the attribute value of an object using the map function in ES6

前端 未结 6 2132
孤城傲影
孤城傲影 2021-02-13 11:09

I am trying to code this in ES6. Below is what I am trying to achieve. Let\'s say I have an array of objects called schools.

let schools = [
    {na         


        
6条回答
  •  孤街浪徒
    2021-02-13 11:48

    try this, ES6 Object.assign() to create copy of array element and update new object.

    let schools = [{
            name: 'YorkTown',
            country: 'Spain'
        },
        {
            name: 'Stanford',
            country: 'USA'
        },
        {
            name: 'Gymnasium Achern',
            country: 'Germany'
        }
    ];
    
    const editSchoolName = (schools, oldName, name) => {
        return schools.map(item => {
            var temp = Object.assign({}, item);
            if (temp.name === oldName) {
                temp.name = name;
            }
            return temp;
        });
    }
    
    var updatedSchools = editSchoolName(schools, "YorkTown", "New Gen");
    console.log(updatedSchools);
    console.log(schools);

提交回复
热议问题