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

回答編集履歴

2

追記

2019/10/24 13:02

投稿

tanishi_a
tanishi_a

スコア484

answer CHANGED
@@ -12,4 +12,32 @@
12
12
  function toArray(elem) {
13
13
  return (elem instanceof Array ? elem : [elem]);
14
14
  }
15
+ ```
16
+
17
+
18
+ ----
19
+
20
+ 追記
21
+
22
+ Firefox の開発ツールを見て、配列だ/オブジェクトだ、と判別しているようですが、
23
+ それは実は Firefox の開発ツールがそう表示してるだけなのではないですかね?
24
+
25
+ cookie 自体は文字列でしかなくて、Firefox が見やすく表示するために object, array と書いてる、という。
26
+
27
+ 質問文では下記のように書かれていますが、
28
+ ```js
29
+ console.log(HistoryAry); // ここは配列なのに
30
+ $.cookie( 'HistoryAry', HistoryAry, { expires: 365, path:'/' } ); // ここでオブジェクトになる
31
+ ```
32
+
33
+ このあとに下記を出しても、上の console.log と同じものが出るし、
34
+
35
+ ```js
36
+ console.log($.cookie('HistoryAry'));
37
+ ```
38
+
39
+ さらに言うと、このように書けば、string と出ます。
40
+
41
+ ```js
42
+ console.log(typeof $.cookie('HistoryAry'));
15
43
  ```

1

文言変更

2019/10/24 13:02

投稿

tanishi_a
tanishi_a

スコア484

answer CHANGED
@@ -1,9 +1,9 @@
1
1
  根本的な解決ではないですが、、
2
2
 
3
- XMLのパース似たような問題があって、
3
+ XMLからJSONへ変換で似たようなケースがあって、
4
4
  要素数が1個だと配列になってくれない状態に。
5
5
 
6
- そのときは、出力側の設定どうにかるのが面倒だったので、
6
+ そのときは、出力側の設定どうにかか調べるのが面倒だったので、
7
7
  受け取る側で次のような関数を作ってやり過ごしました。
8
8
 
9
9
  下記のような感じです。