回答編集履歴

2

サンプルコードの改善

2018/01/30 09:22

投稿

so87
so87

スコア764

test CHANGED
@@ -1,6 +1,6 @@
1
- lodashのメリットはchainでつなげての遅延評価(v3以降)だと思います。
1
+ lodashのメリットはchainでつなげての遅延評価(v3以降)による最適化処理だと思います。
2
2
 
3
- 今回はfindで絞っているし、sortは特性上streamが切られるので遅延評価の対象とならないですが^^
3
+ 今回はfindで絞っているし、sortはその特性上、流れが切られるので最適化の対象とならないですが^^
4
4
 
5
5
  lodashを使うなら、chain(遅延評価)を使うことをお勧めします。
6
6
 
@@ -57,3 +57,33 @@
57
57
 
58
58
 
59
59
  ```
60
+
61
+
62
+
63
+ 追記です。
64
+
65
+ 「非破壊的な方法で変更したい」というのを見逃していたので修正版も。
66
+
67
+ ```js
68
+
69
+ const userChange = (id, point, profile)=> {
70
+
71
+ return _.chain( users )
72
+
73
+ .cloneDeep() //複製
74
+
75
+ .tap( users => {
76
+
77
+ //強引に中間操作・・・
78
+
79
+ _.chain(users).find( {id:id} ).assign( { point: point, profile: profile } ).commit();
80
+
81
+ })
82
+
83
+ .sortBy('name')
84
+
85
+ .value();
86
+
87
+ }
88
+
89
+ ```

1

誤字修正

2018/01/30 09:22

投稿

so87
so87

スコア764

test CHANGED
@@ -1,8 +1,8 @@
1
1
  lodashのメリットはchainでつなげての遅延評価(v3以降)だと思います。
2
2
 
3
- 今回はfindで絞っているし、sortは特性上streamが切られるので遅延評価の対象とならないですが^^
3
+ 今回はfindで絞っているし、sortは特性上streamが切られるので遅延評価の対象とならないですが^^
4
4
 
5
- lodashを使うなら、chainを使うことをお勧めします。
5
+ lodashを使うなら、chain(遅延評価)を使うことをお勧めします。
6
6
 
7
7
 
8
8