Ich sehe wirklich nicht, wo das falsch läuft. Ich habe Beiträge dieses speziellen Beispiels von O'Reilly's Learning React von Banks & Porcello gesehen. Die Posts scheinen jedoch gut zu funktionieren, aber mein Beispiel nicht. Wenn ich einen Tippfehler habe, sehe ich es nicht. Wo ist mein Fehler? Ich weiß nicht, warum ich einen Null-String-Wert anstelle von „HB Woodlawn“ getWarum funktioniert meine map() mit Spread-Operator nicht?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>
</head>
<body>
<script type="text/babel">
// Editing one object in an array of objects
let schools = [
{name: 'Yorktown'},
{name: 'Stratford'},
{name: 'Washington & Lee'},
{name: 'Wakefield'}
];
const editName = (oldName, newName, arr) =>
arr.map(item => {
if (item.name === oldName) {
return {
...item,
name
}
}
else {
return item
}
});
let updatedSchools = editName('Stratford', 'HB Woodlawn', schools);
console.log(updatedSchools[1]); // name: ""
console.log(schools[1]); // name: "Stratford"
</script>
</body>
</html>
Hinweis: '...' ist kein Operator. (Und bevor jemand es sagt: Ignoriere die URL auf der MDN-Seite, es war ein Fehler von der Person, die die Seite erstellt hat.) –
Ähmm, '...' ist Spread-Operator richtig? – illiteratewriter