ES6についての質問です。
現在、lodashというライブラリを使用しています。
例えば、以下のような配列があったとして
const users = [ { id:1, name:'田中太郎', point:30, profile:'こんにちは', }, { id:2, name:'青井花子', point:50, profile:'おはよう', }, { id:3, name:'石野次郎', point:45, profile:'おやすみ', }, ]
この、「id:1」の要素の「point」を「40」に、「profile」を「'ハロー'」に変更し、
さらに「name」の昇順に並び替えをしたい、という場合
どのようにすれば簡潔に処理できるでしょうか?
現在は以下のような形で書いていますが、冗長な気がします…
const userChange (id, point, profile) => { const oldItem = _.find(users, ['id', id]); const newItem = _.assign({}, oldItem, { point, profile }); return _.sortBy(_.concat(_.without(users, oldItem), newItem), 'name'); } // userChange(1, 40, 'ハロー');
翻訳に頼りつつ、何とかlodashのドキュメントを読みながら、自分なりに調べていますが
なかなか良い方法が見つかりません。
どなたかアドバイスや案内してもらえると嬉しいです><
もし、既に似たような質問があったり、これに該当する解決策の記事があったりしたらすみません…!
追記・・・
修正依頼ありがとうございます…!
非破壊的な方法で変更したいです。
回答5件
あなたの回答
tips
プレビュー