2017-02-12 8 views
0

その後、私は配列を文字列化して解析し、配列内の要素の1つにアクセスしようとしましたが、配列内の要素はすべて、そのようなものとしてマッシュされています。私はなぜこれを変えるかを知りたいです。前もって感謝します!配列は文字列化されて解析された後も配列ではない

var linkrecup = localStorage.getItem('linksstring'); 
JSON.parse(linkrecup); 
alert(linkrecup); 
var linkarr = [''+linkrecup+'']; 
alert(linkarr.length); // this gives '1' 
var div = document.createElement('div'); 
document.body.appendChild(div); 
div.id = 'placememe'+memenumber+''; 
div.className = 'meme'; 
var nombrememes = document.getElementsByClassName("meme").length; 
alert(nombrememes); 
var crpt = nombrememes - 1; 
alert(crpt); 
alert(linkarr[3]); // this gives 'undefined' 

使用されるすべての変数は、別のコードで宣言されています。欲しいのであれば、私は喜んでそれをあなたに渡します。

EDIT:基本的には、このコードを使用して(試して)、ユーザーが指定したリンク(プロンプト)をプッシュし、既にリンクが保存されているリンクの配列に追加することです。 localStorage(JSON.stringifyで文字列化されています)に格納してから、この配列を後で(localStorage.getItemを使用して)再度アクセスし、それを解析して(JSON.parse)、その要素の1つを使用します。配列(リンク)を画像のリンクとして使用します。 stringifyとshitのコードは次のとおりです。

var newmeme = prompt('Please paste the link of the meme below!'); 
memes.push ('placememe'+memenumber+''); 
links.push (newmeme); 
var div = document.createElement('div'); 
document.body.appendChild(div); 
div.id = 'placememe'+memenumber+''; 
div.className = 'meme'; 
var nombrememes = document.getElementsByClassName("meme").length; 
var vrb = nombrememes - 1; 
div.innerHTML = '<img src="'+links[vrb]+'" width="700" height="700" alt="" />'; 

var linksstring = links 
localStorage.setItem('linksstring',JSON.stringify(linksstring)); 
var linkrecup = localStorage.getItem('linksstring'); 
JSON.parse(linkrecup); 
alert(linkrecup); 
+1

それはあなたのコードが何であるかを伝えるのは難しいですやろうとしている。特に、[['' + linkrecup + ''] 'の目的は何ですか? – Frxstrem

+1

http://stackoverflow.com/help/moveに基づいて、最小、完全かつ検証可能な例を提供してください。データ構造を推測したり、独自のテスト環境を作成したりする必要がないので、助けになると助かります。 – Connum

+1

壊れたコードは、あなたが達成しようとしていることと予想されるものの適切な説明の良い代替物ではありません結果は次のとおりです。数分で[ask]を読む – charlietfl

答えて

0

JSON.parse(オブジェクト)が

するvar parsedlinkrecupを使用してみてください解析されたオブジェクトを返す= JSON.parse(linkrecup)

関連する問題