1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

深い階層構成のJavaScriptオブジェクトを設定する時に便利なset-valueメソッド

Posted at

Immutable.js型だったら、imtRecord.setIn(['a', 'b', 'c'], 'd');のようにシンプル書けるが、純粋なJavaScriptオブジェクトなら、当然できない。

自分で頑張って描くなら、次のような感じだと思う。

  • obj.aがあったら、その中にbを設定する
  • obj.bがなかったら、まずobj.bに空オブジェクトを設置してから、bを中に設定する
  • c以降も同様のロジックで繰り返す

便利そうなライブラリない?

何処でもいつでもこんなロジックが発生するから、ないとおかしい。
set-valueというライブライはgithubにある。

set-valueの使い方

npm install set-value

// hoge.js
import set from 'set-value';

const obj = {};
set(obj, 'a.b.c', 'd');
console.log(obj);
// output: { a: { b: { c: 'd' } } }
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?