Article Outline
JavaScript 配列内のオブジェクトの更新ってどうする?
TOC
Collection Outline
最新記事
- Next.js 北九州市のイベント情報を取得する
- Next.js × now がやばい
- 競プロ日記 ABC15
- 競プロ日記 ABC159
- Kaggle 住宅価格予測 単回帰分析してみる
- 単回帰分析のFlow
- React Native Styleをいい感じに
- React Movie Search を TS で.
- useRefの使い方がわからん
- Heroku PostgreSQL の使い方
- ラズパイとLEDマトリクスパネルで遊ぶ
- querySelectorAllで取得した要素は配列ではないらしい
- React HookでTodoアプリを作る
- Kaggle 住宅価格予測 重回帰分析してみる
- Kaggle 住宅価格予測 多項式回帰してみる
- Webフロントのすべて
- 新しいMacBook Airが届いた!
- 日向坂46のニュースをスクレイピング
- イコラブのニュースをスクレイピングする!
- 推しのブログをスクレイピング
どうするもこうするもそんなに方法なかったわ
const persons = [
{name: 'fukke', age: 18},
{name: 'momoko', age: 20},
]
// momokoの年齢を21歳にする
// まずindex番号を検索
const index = persons.(person => person.name === 'momoko')
// 更新する
persons[index].age++
おっけいですね.
でもなんか更新部分があまりすきじゃないんだよねぇ..
なんとか一つの式出かけないかなぁ
色々試す
persons.find((person) => person.name === "momoko").age++;
これの返り値で新しい配列返してくれたら完璧なんだけどなぁ
これじゃ更新された後のageが返ってくるんですよねぇ
無理やり配列を返すようにする
const updatedPersons = persons.map((person) => {
if (person.name === "momoko") {
return {
name: person.name,
age: person.age++,
};
}
return person;
});
個人的にはこの感じが一番好きだけど, mapで展開するからO(N)かかるのがなぁって思ってる.
find, findIndexが多分O(logN)ぐらい(要出典)だろうからね..
おわりに
おすすめの更新方法あったら教えてください