質問編集履歴

1

多重配列の[[]];と[{}];では意味合いが異なってくるのでしょうか?

2018/09/19 14:17

投稿

hectopascal1013
hectopascal1013

スコア466

test CHANGED
File without changes
test CHANGED
@@ -14,15 +14,39 @@
14
14
 
15
15
  ここに4点目のxy座標を追加したいのですが、、
16
16
 
17
+
18
+
19
+ //質問修正箇所(ここから)
20
+
21
+ illustrator側での多重配列の書き方が
22
+
23
+ [[x0,y0],[x1,y1],[x2,y2],…];
24
+
25
+ という定形になっておりました。
26
+
27
+ これはイラレ側の読み込みで変えられないようです。
28
+
29
+
30
+
31
+ 基本{}を[]に変えてしまったら良いのかと思いましたが、それも叶わず。
32
+
33
+ 今度はjavascript側でこの書き方は変だと弾かれてしまいました。
34
+
35
+ 意味合いが異なってくるのでしょうか?
36
+
37
+ //(ここまで)
38
+
17
39
  data.push();ではうまくいきませんでした。
18
40
 
19
41
 
20
42
 
21
43
  希望する結果
22
44
 
23
- dataの中身が = [{x: 100, y: 100}, {x: 200, y: 200}, {x: 300, y: 300}, {x:400, y:400}…といったように、要素を追加したいです。
45
+ //質問修正箇所(ここから)
24
46
 
47
+ dataの中身が = [[100,100},[200,200],[300,300],[400,400]…といったように、要素を追加したいです。
25
48
 
49
+ //(ここまで)
26
50
 
27
51
  配列の読み出し方はなんとかわかったのですが、反対のやり方でpushしようとすると弾かれてしまいます。。
28
52
 
@@ -48,15 +72,15 @@
48
72
 
49
73
 
50
74
 
51
- javascript
75
+ 使用言語:javascript
52
76
 
53
- var data = [{x: 100, y: 100}, {x: 200, y: 200}, {x: 300, y: 300}];
77
+ var data = [[100, 100], [200, 200], [300, 300]];
54
78
 
55
79
 
56
80
 
57
- data.push({x: 400, y:400});
81
+ data.push([400, 400]);
58
82
 
59
- console.log(data);
83
+ console.log(data);
60
84
 
61
85
 
62
86
 
@@ -64,8 +88,22 @@
64
88
 
65
89
 
66
90
 
67
- data.push({x: 400, y:400});
91
+ data.push([400,400]);など。
92
+
93
+ array0,array1…というように、[x,y]の中の配列だけを指定してpushしてから、
94
+
95
+ arrayの中に入れ子に再定義するということも考えてやっていますが、ちょっと冗長かな?と。
96
+
97
+ ただ、イラレ側の癖なのか、あまり短絡的に省略しようとすると、その書き方で弾かれてしまう場合もありそうで、ちょっとその辺で間違いがあるのかどうかでもわからない迷宮に入り込んでしまっています。すいません。分かりづらくて。。。
68
98
 
69
99
 
70
100
 
71
101
  ### 補足情報(FW/ツールのバージョンなど)
102
+
103
+ あ、そういえば、マークダウン使用せよとのご指摘ありがとうございます。
104
+
105
+ 当方、Coda2やMarsEdit使用ですが、イラレの時はExtendToolKitなるものを使っておりまして後者はマークダウンとは少し異なっていて、エラー検知も独特なんですよね。。結局イラレ上で動かすことが全てと言いますか。。
106
+
107
+
108
+
109
+ お手数おかけして申し訳ありません。よろしくお願い申し上げます。