質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

3958閲覧

SessionStorage.getitemでの配列要素の取得について

NaGuilty_

総合スコア5

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/07/12 09:57

#JavaScript/HTML/CSSについての質問です.
JavaScriptファイルで計算をして配列に値を代入してSessionStorage.setitemで保存した後,HTMLファイル側でSessionStorage.getitemで値を取得すると文字列として扱われてしまうため,数値に変換して計算ができるようにする方法を教えてください.

#実現したいこと
setitemで保存した
a[0, 10, 20, 30, 40, 50]
をgetitemで読み込んでconsole.log(a[1])を実行すると,実行結果が「,」になったり,console.log(a[3])を実行すると実行結果が「1」になってしまうため,getitemで取得しても
console.log(a[1])→10
console.log(a[3])→20
となるようににしたいです.

JS

1const N = 60; 2 3 var a = 0, 4 b = 0, 5 ran, 6 box_a = new Array(); 7 box_b = new Array(); 8 9 for (let i = 0; i < N; i++) { 10 ran = Math.floor(Math.random() * 2); 11 if (ran === 0) { 12 box_a[a] = i + 1; 13 a += 1; 14 } else if (ran === 1) { 15 box_b[b] = i + 1; 16 b += 1; 17 } 18 } 19 20 sessionStorage.setItem("num_a", box_a); 21 sessionStorage.setItem("num_b", box_b);

HTML

1<script> 2var a = sessionStorage.getItem("num_a"); 3var b = sessionStorage.getItem("num_b"); 4 5console.log(a[1]); 6</script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

文字列しか格納できないので、JSONにして保存すればよいです。

【localStorageで複数のデータを保存する | Tips Note by TAM】
https://www.tam-tam.co.jp/tipsnote/javascript/post5978.html

投稿2020/07/12 09:59

kei344

総合スコア69601

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NaGuilty_

2020/07/12 10:12

sessionStorage.setItem("num_a", JSON.stringify(box_a)); として保存し, var a = JSON.parse(storage.getItem('num_a')); として値の取り出しを行いましたが, Uncaught ReferenceError: storage is not defined とエラーが発生してしまい,うまく表示されません. どう解決したらよろしいでしょうか?
kei344

2020/07/12 10:15

sessionStorage.setItemとして保存しているのだから storage.getItem ではなく sessionStorage.getItem では。 「Uncaught ReferenceError: ●● is not defined」は未定義の変数にアクセスしたときにおります。エラーから情報を得てください。
guest

0

セキュリティ上、SessionStorageはなるべく使わないほうが良いと思うのですが。

投稿2020/07/12 11:28

zyk

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問