回答編集履歴
2
サンプルコードの改善
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
lodashのメリットはchainでつなげての遅延評価(v3以降)だと思います。
|
1
|
+
lodashのメリットはchainでつなげての遅延評価(v3以降)による最適化処理だと思います。
|
2
|
-
今回はfindで絞っているし、sortは特性上
|
2
|
+
今回はfindで絞っているし、sortはその特性上、流れが切られるので最適化の対象とならないですが^^
|
3
3
|
lodashを使うなら、chain(遅延評価)を使うことをお勧めします。
|
4
4
|
|
5
5
|
```js
|
@@ -27,4 +27,19 @@
|
|
27
27
|
return _.sortBy( users, 'name' );
|
28
28
|
}
|
29
29
|
|
30
|
+
```
|
31
|
+
|
32
|
+
追記です。
|
33
|
+
「非破壊的な方法で変更したい」というのを見逃していたので修正版も。
|
34
|
+
```js
|
35
|
+
const userChange = (id, point, profile)=> {
|
36
|
+
return _.chain( users )
|
37
|
+
.cloneDeep() //複製
|
38
|
+
.tap( users => {
|
39
|
+
//強引に中間操作・・・
|
40
|
+
_.chain(users).find( {id:id} ).assign( { point: point, profile: profile } ).commit();
|
41
|
+
})
|
42
|
+
.sortBy('name')
|
43
|
+
.value();
|
44
|
+
}
|
30
45
|
```
|
1
誤字修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
lodashのメリットはchainでつなげての遅延評価(v3以降)だと思います。
|
2
|
-
今回はfindで絞っているし、sortは特性上streamが切
|
2
|
+
今回はfindで絞っているし、sortは特性上streamが切られるので遅延評価の対象とならないですが^^
|
3
|
-
lodashを使うなら、chainを使うことをお勧めします。
|
3
|
+
lodashを使うなら、chain(遅延評価)を使うことをお勧めします。
|
4
4
|
|
5
5
|
```js
|
6
6
|
var userChange = (id, point, profile)=> {
|