JavaScript Verwenden von map zum Umformatieren von Objekten in einem Array


Beispiel

Array.prototype.map() : Gibt ein neues Array mit den Ergebnissen des Aufrufs einer bereitgestellten Funktion für jedes Element im ursprünglichen Array zurück.

Im folgenden Codebeispiel wird ein Array von Personen verwendet und ein neues Array erstellt, das Personen mit der Eigenschaft 'fullName' enthält

var personsArray = [
  {
    id: 1,
    firstName: "Malcom",
    lastName: "Reynolds"
  }, {
    id: 2,
    firstName: "Kaylee",
    lastName: "Frye"
  }, {
    id: 3,
    firstName: "Jayne",
    lastName: "Cobb"
  }
];

// Returns a new array of objects made up of full names.
var reformatPersons = function(persons) {
  return persons.map(function(person) {
    // create a new object to store full name.
    var newObj = {};
    newObj["fullName"] = person.firstName + " " + person.lastName;

    // return our new object.
    return newObj;
  });
};

Wir können jetzt reformatPersons(personsArray) anrufen und erhalten ein neues Array mit nur den vollständigen Namen jeder Person.

var fullNameArray = reformatPersons(personsArray);
console.log(fullNameArray);
/// Output
[
  { fullName: "Malcom Reynolds" }, 
  { fullName: "Kaylee Frye" },
  { fullName: "Jayne Cobb" }
]

personsArray und sein Inhalt bleibt unverändert.

console.log(personsArray);
/// Output
[
  {
    firstName: "Malcom",
    id: 1,
    lastName: "Reynolds"
  }, {
    firstName: "Kaylee",
    id: 2,
    lastName: "Frye"
  }, {
    firstName: "Jayne",
    id: 3,
    lastName: "Cobb"
  }
]