回答編集履歴
4
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
ご質問に挙げられている `beforeData` と `afterData ` との差分を、配列の各要素の差分も含めて取得するために、参考になりそうなコードがありました。
|
3
|
+
ご質問に挙げられている `beforeData` と `afterData ` との差分を、配列の各要素の差分も含めて取得するために、参考になりそうなコードがありましたので、以下それを回答します。
|
4
4
|
|
5
5
|
- [Gist: Yimiprod/difference.js](https://gist.github.com/Yimiprod/7ee176597fef230d1451) - **Deep diff between two object, using lodash** (Yimiprodさん@GitHub)
|
6
6
|
|
3
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
ご質問に挙げられている `beforeData` と `afterData ` との差分を、配列の各要素の差分も含めて取得するために、参考になりそうなコード
|
3
|
+
ご質問に挙げられている `beforeData` と `afterData ` との差分を、配列の各要素の差分も含めて取得するために、参考になりそうなコードがありました。
|
4
4
|
|
5
5
|
- [Gist: Yimiprod/difference.js](https://gist.github.com/Yimiprod/7ee176597fef230d1451) - **Deep diff between two object, using lodash** (Yimiprodさん@GitHub)
|
6
6
|
|
2
テキスト修正
answer
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
参考になりそうなコードを見つけたので、それを回答します。
|
3
|
+
ご質問に挙げられている `beforeData` と `afterData ` との差分を、配列の各要素の差分も含めて取得するために、参考になりそうなコードを見つけたので、それを以下にて回答します。
|
4
4
|
|
5
5
|
- [Gist: Yimiprod/difference.js](https://gist.github.com/Yimiprod/7ee176597fef230d1451) - **Deep diff between two object, using lodash** (Yimiprodさん@GitHub)
|
6
6
|
|
7
|
-
Reactで使えるコードは、以下です。
|
7
|
+
Reactで使えるコードは、以下のコメントで提示されています。
|
8
8
|
|
9
9
|
- [https://git.io/fjDYz](https://git.io/fjDYz) (jvanderbergさん@GitHub)
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
上記の関数 `difference` を使って、
|
13
|
+
上記の関数 `difference` を使って、 `postData` を得るコードを試作したので、以下に挙げます。(※ひな形を create-react-app で作成しています。)
|
14
14
|
|
15
15
|
|
16
16
|
### [src/difference.js](https://git.io/fjDYz)
|
@@ -64,19 +64,17 @@
|
|
64
64
|
m: 12
|
65
65
|
};
|
66
66
|
|
67
|
-
const
|
67
|
+
const postData = difference(afterData, beforeData);
|
68
68
|
|
69
69
|
return (
|
70
70
|
<pre>
|
71
|
-
{JSON.stringify(
|
71
|
+
{JSON.stringify(postData, null, "\t")}
|
72
72
|
</pre>
|
73
73
|
);
|
74
74
|
}
|
75
75
|
}
|
76
76
|
|
77
77
|
export default App;
|
78
|
-
|
79
|
-
|
80
78
|
```
|
81
79
|
|
82
80
|
### src/index.js
|
@@ -136,7 +134,7 @@
|
|
136
134
|
|
137
135
|
```
|
138
136
|
|
139
|
-
差分をPOSTで送るとのことでしたので、上記の App では
|
137
|
+
差分をPOSTで送るとのことでしたので、上記の App では `postData` をJSON にして表示しています。上記を `yarn start`すると以下のように表示されました。
|
140
138
|
|
141
139
|

|
142
140
|
|
1
テキスト修正
answer
CHANGED
@@ -9,9 +9,10 @@
|
|
9
9
|
- [https://git.io/fjDYz](https://git.io/fjDYz) (jvanderbergさん@GitHub)
|
10
10
|
|
11
11
|
|
12
|
-
以下は、上記の `difference` を試してみたコードです。(※ひな形を create-react-app で作成しました)
|
13
12
|
|
13
|
+
上記の関数 `difference` を使って、ご質問に挙げられている `beforeData` と `afterData ` との差分を得るコードを試作したので、以下に挙げます。(※ひな形を create-react-app で作成しています。)
|
14
14
|
|
15
|
+
|
15
16
|
### [src/difference.js](https://git.io/fjDYz)
|
16
17
|
```javascript
|
17
18
|
import { transform, isEqual, isObject } from 'lodash';
|