teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

仕様追加しました。

2021/02/10 01:39

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,11 @@
10
10
 
11
11
  Object.assignを使ってマージする方法もあるようですが、2つの合算になるだけのため使いませんでした。
12
12
 
13
+ 仕様の説明を追加しました。
14
+ ・tempRowDataに対してrowDataのidが合致する場合に上書きします。
15
+ ・rowDataのidは常にtempRowDataに存在
16
+ ・tempRowDataのidがrowDataに存在しないことがある(isDeleted: trueの場合に存在しない)
17
+
13
18
  ```javascript
14
19
  var tempRowData = [
15
20
  {id: 1, text: "TEST1", isDeleted: false},

4

修正

2021/02/10 01:39

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  2つの連想配列の関係性は tempRowData >= rowData となります。
7
7
 
8
8
  第1ループでmapを使用し、第2ループでsome(forEachでbreakができないための代用)をしています。
9
- someで抜けたらそのrowDataは次のループで使用しないため削除しています。
9
+ someで抜けたらそのrowDataの該当indexは次のtempRowDataのループで使用しないため削除しています。
10
10
 
11
11
  Object.assignを使ってマージする方法もあるようですが、2つの合算になるだけのため使いませんでした。
12
12
 

3

修正

2021/02/10 01:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  javascriptで2つの連想配列のマージを効率良く実行する方法を教えて下さい。
2
2
 
3
3
  下記のソースコードでは
4
- tempRowDateにrowDataを上書きしています。
4
+ tempRowDataにrowDataを上書きしています。
5
5
  実際のデータは最大1000行程度になります。
6
6
  2つの連想配列の関係性は tempRowData >= rowData となります。
7
7
 

2

修正

2021/02/10 01:32

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  下記のソースコードでは
4
4
  tempRowDateにrowDataを上書きしています。
5
- 実際のデータは最大1000行×1000行程度になります。
5
+ 実際のデータは最大1000行程度になります。
6
6
  2つの連想配列の関係性は tempRowData >= rowData となります。
7
7
 
8
8
  第1ループでmapを使用し、第2ループでsome(forEachでbreakができないための代用)をしています。

1

修正

2021/02/10 01:31

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,18 +1,16 @@
1
1
  javascriptで2つの連想配列のマージを効率良く実行する方法を教えて下さい。
2
2
 
3
3
  下記のソースコードでは
4
-
5
4
  tempRowDateにrowDataを上書きしています。
6
5
  実際のデータは最大1000行×1000行程度になります。
7
6
  2つの連想配列の関係性は tempRowData >= rowData となります。
8
7
 
9
- 第1ループでmapを使用し、第2ループでsome(forEachでbreakができない代用)をしています。
8
+ 第1ループでmapを使用し、第2ループでsome(forEachでbreakができないための代用)をしています。
10
9
  someで抜けたらそのrowDataは次のループで使用しないため削除しています。
11
10
 
12
11
  Object.assignを使ってマージする方法もあるようですが、2つの合算になるだけのため使いませんでした。
13
12
 
14
13
  ```javascript
15
- // データは1000×1000=1000000行程度
16
14
  var tempRowData = [
17
15
  {id: 1, text: "TEST1", isDeleted: false},
18
16
  {id: 2, text: "TEST2", isDeleted: false},