既存のオブジェクトを検索し、そのプロパティを変更したいと考えています。 これは素晴らしい作品:どのようにforループでより宣言的なオブジェクトのキーを変更するには?
function changeObjectKey(targetObject) {
for(var i = 0; i < listofobjects.length; i++) {
if(targetobject.keyone == listofobjects[i].keyone)
listofobjects[i].keytwo = 'changedvalue';
break;
}
}
}
私はどのように私はそれを行うことができ、フィルタを使って賢くそれを作りたいですか?私が試した:
function changeObjectKey(targetObject) {
let filteredobject = listofobjects.filter(function(currentobject) {
return (currentobject.keyone == targetobject.keyone);
});
filteredobject.keytwo = 'changedvalue';
}
注:つだけの目的は、フィルタに一致します。 後者はlistofobjects.keytwoを変更していません...しかし、私はそれのコピーを考えています。最初のケースでは、元のlistofobjects [i] .keytwoが変更されています。
これを行う正しい方法は何ですか?