以前にも同様の質問があったことは知っていますが、これは少し異なります。名前のないオブジェクトの配列があり、その中に名前付きオブジェクトの配列が含まれています。「name」が「string 1」であるオブジェクトを取得する必要があります。配列の例を次に示します。
var array = [
{ name:"string 1", value:"this", other: "that" },
{ name:"string 2", value:"this", other: "that" }
];
更新:以前に言うべきだったのですが、見つけたら編集したオブジェクトに置き換えたいと思います。
ベストアンサー1
配列要素の検索:
let arr = [
{ name:"string 1", value:"this", other: "that" },
{ name:"string 2", value:"this", other: "that" }
];
let obj = arr.find(o => o.name === 'string 1');
console.log(obj);
配列要素の置き換え:
let arr = [
{ name:"string 1", value:"this", other: "that" },
{ name:"string 2", value:"this", other: "that" }
];
let obj = arr.find((o, i) => {
if (o.name === 'string 1') {
arr[i] = { name: 'new string', value: 'this', other: 'that' };
return true; // stop searching
}
});
console.log(arr);