2
.map()を使用して配列内のオブジェクトにプロパティを条件付きで追加しようとしていますが、何か不足しているようです。私のオブジェクトの配列は、マップの完成後も変更されません。これらのすべては、ESLintエラー 'no-param-reassign'を解決しようとした結果、なぜこれを行うのかを理解するのに役立ちます。.map()を使用して配列に存在するオブジェクトに新しいプロパティを追加する
私はここで達成しようとしているものの基本的な例を作成しました:jsfiddle。
var aList = [{
Title: "Enders Game",
Rating: 8
},
{
Title: "Harry Potter",
Rating: 10
}];
console.log('before', aList);
aList.map(function(book) {
if(book.Title == "Enders Game"){
console.log({ ...book, completed: true })
return { ...book, completed: true };
}
console.log({ ...book, completed: false })
return { ...book, completed: false };
});
console.log('after', aList);
'.MAP()'原を変異ありません。これは新しいArrayを作成します。これは 'var newMap = aList.map(...' –