0

У меня есть этот объект, содержащий почти все, что я хочу знать о тренировке. Тем не менее, когда я Stringify объекта объекты массива не хранятся или что-то еще.Как хранить объект, содержащий объекты массива, в локальном хранилище по JSON

Это мой объект я хочу stringify:

Object {name: "testWorkout", program: Array[4]} 
name: "testWorkout" 
program: Array[4] 
     first: Array[3] 
     slope: 0 
     speed: "medium" 
     time: 10 
     length: 3 
     __proto__: Array[0] 

     interval1: Array[4] 
     radio: "Time" 
     size: "33" 
     slope: "79" 
     speed: "fast" 
     length: 4 
     __proto__: Array[0] 

     interval2: Array[4] 
     radio: "Time" 
     size: "3322" 
     slope: "16" 
     speed: "medium" 
     length: 4 
     __proto__: Array[0] 

     last: Array[3] 
     slope: 0 
     speed: "medium" 
     time: 20 
     length: 3 

    __proto__: Array[0] 
    length: 4 
    __proto__: Array[0] 
__proto__: Object 

Но вместо этого он stringifies хорошо это делает stringify как:

{"name":"testesr","program":[null,null,null,null]} 

Как решить эту проблему с чистым JavaScript? Итак, без JQuery?

Это мой stringify и метод чтения:

function putInLocalStorage(){ 
    console.log(JSON.stringify(workout)); 
    localStorage.setItem('workout-'+workout.name, JSON.stringify(workout)); 
} 

function readLocalStorage(){ 
    var retrievedObject = localStorage.getItem('workout-'+workout.name); 
    console.log('retrievedObject: ', JSON.parse(retrievedObject));  
} 

ответ

0

изменить ваш объект глядя, как показано ниже, то stringify. Он должен работать.

Object {name: "testWorkout", program: {}} 

Точка здесь нормально JavaScript массивы предназначены для хранения данных с числовыми индексами. Вы можете набить им именованные ключи, но тип данных массива JSON не может иметь именованные ключи в массиве.

+0

Я думаю, что то же самое касается всех других массивов()? Как я могу видеть интервалы второго уровня и разминки/кулдауны сейчас: D! – Baklap4

+0

yup you are right –

+0

Отлично, это очень помогает! :) – Baklap4