回答編集履歴

2

compareJSONTreeの不具合修正

2021/02/14 02:58

投稿

AT_2nd
AT_2nd

スコア266

test CHANGED
@@ -5,6 +5,8 @@
5
5
  function compareJSONTree(a,b)
6
6
 
7
7
  {
8
+
9
+ if( b == undefined )retrn false;//←ここを追加
8
10
 
9
11
  if( typeof(a) != "object" || typeof(b) != "object" )return (typeof(a)=="object") == (typeof(b)=="object");
10
12
 
@@ -77,3 +79,9 @@
77
79
  }
78
80
 
79
81
  ```
82
+
83
+ ※更に追記
84
+
85
+ compareJSONTreeで、引数bがundefinedである場合に対応できていない問題に対処しました。
86
+
87
+ compareJSONTreeの先頭にif( b == undefined )return false;を追加して下さい。

1

検証2,3について追記

2021/02/14 02:58

投稿

AT_2nd
AT_2nd

スコア266

test CHANGED
@@ -22,6 +22,58 @@
22
22
 
23
23
  compareJSONTree(current_search_menus,default_search_menus);
24
24
 
25
+ ```
25
26
 
26
27
 
28
+
29
+ ※追記
30
+
31
+ 検証2,3についてはこんな感じでしょうか。
32
+
33
+ 投げっぱなしになってしまいますが、下記サイトの内容が色々役に立つので、よろしければどうぞ。
34
+
35
+ [MDN Array](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array)
36
+
37
+ [MDN Object](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object)
38
+
39
+ ```javascript
40
+
41
+ function check2()
42
+
43
+ {
44
+
45
+ return Object.values(default_search_menus.search_pages)
46
+
47
+ .filter(v=>v===true)
48
+
49
+ .length == 1;
50
+
51
+ }
52
+
53
+
54
+
55
+ function check3()
56
+
57
+ {
58
+
59
+ return ["posts","comments","users"].every(key=>
60
+
61
+ {
62
+
63
+ return Object.values(default_search_menus.search_filter[key])
64
+
65
+ .filter(child=>
66
+
67
+ {
68
+
69
+ return Object.values(child).filter(v=>v===true).length == 1;
70
+
71
+ })
72
+
73
+ .length == 1;
74
+
75
+ });
76
+
77
+ }
78
+
27
79
  ```