Javascript でオブジェクトの配列内の値を検索する [重複] 質問する

Javascript でオブジェクトの配列内の値を検索する [重複] 質問する

以前にも同様の質問があったことは知っていますが、これは少し異なります。名前のないオブジェクトの配列があり、その中に名前付きオブジェクトの配列が含まれています。「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);

おすすめ記事