簡體   English   中英

控制台說我的數組是未定義的javascript

[英]console saying my array is undefined javascript

我看了很多例子,但似乎無法弄清楚我在做什么錯:

 var names_Array = [];
 var names_List = new WinJS.Binding.List(names_Array);
 names_List.push({ name: "Joe Dowling", image: "image/Joe Dowling.png", ClientID: "1234" });

window.localStorage.setItem('names_Array', JSON.stringify(names_Array));

var test = JSON.parse(window.localStorage.getItem('names_Array'));
console.log(test.name);

在控制台中變得不確定 ,為什么會發生呢?

您有兩個錯誤:

1)您只是初始化了names_Array並且沒有添加任何元素。 您將空數組存儲在localStorage中。

2)由於test是一個對象數組(如果將對象推入其中),則必須通過索引訪問一個特定的對象,或者循環遍歷該數組以獲取成員。

此代碼應工作:

var names_Array = [];
var names_List = new WinJS.Binding.List(names_Array);
names_List.push({ name: "Joe Dowling", image: "image/Joe Dowling.png", ClientID: "1234" });

window.localStorage.setItem('names_Array', JSON.stringify(names_List));

var test = JSON.parse(window.localStorage.getItem('names_Array'));

for( i in test ) console.log(test[i].name);
window.localStorage.setItem(
    'names_Array',
    JSON.stringify(['John Doe', 'Jane Doe'])
);
console.log(JSON.parse(window.localStorage.getItem('names_Array')));

版畫

["John Doe", "Jane Doe"]

也許test.name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM