2013-06-13 50 views
0

我已經看了很多例子,我似乎無法找出我在做什麼錯在這裏:控制檯說我的數組是不確定的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); 

我得到不確定控制檯,它爲什麼發生?

+0

什麼是names_Array,發佈它的聲明。 –

+0

似乎'names_Array'實際上不是一個數組? –

+1

show'json' array – som

回答

0
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時的方式獲得?

1

你有兩個錯誤:

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); 
+0

;給我一個錯誤無法獲取未定義或空引用的屬性'名稱'由於我原來的問題 – user2363025

+0

嗨,在您的代碼中發現另一個錯誤。更新了答案 –

+0

是的,我早些時候嘗試過,並得到了錯誤:值參數中的循環引用不支持 – user2363025

相關問題