2

我有存储在本地存储中的数据,我想将其拉入数组。但没有成功......正如您将在下面的代码中看到的那样,我正在尝试 console.log 数组,但它写信给我:

(Chrome 控制台)

Uncaught SyntaxError: Unexpected end of input index.html:204 (anonymous function) index.html:204 e.resolveWith jquery-1.6.min.js:16

e.extend.ready jquery-1.6.min.js:16 c.addEventListener.z jquery-1.6.min.js:16

cordova :: 触发 deviceready 事件!波纹.js:37

8 画布未找到!

这是我的本地存储: 在此处输入图像描述 这是代码:

            $(function() {
                window.localStorage.setItem('Sample block', '{"time":1383107260539,"counter":5}');

                track_items_for_chart = [];

                for (i = 0; i < window.localStorage.length; i++) {
                    var key_name = (window.localStorage).key(i);

                    var time = (window.localStorage.getItem(key_name));
                    time = (JSON.parse(time)).time;
                    var counter = jQuery.parseJSON(window.localStorage.getItem(key_name)).counter;
                    counter = JSON.parse(counter);
                    track_items_for_chart.push("{ date: " + time + ", km: " + counter + "},");
                }
console.log(track_items_for_chart);

    });
4

1 回答 1

0

这些是我编写的将字符串转换为数组、添加数据、转换回字符串然后保存到本地存储的函数。

// Converts a string from local storage to an array
// to be used by program
function convert_string_to_array (string)
{

var array = string.split("^");
return array;
}

// Converts array to string to be saved into local storage

function convert_array_to_string (array)
{

var string;

for (var i = 0; i < array.length ; i++)
{
if (string != undefined){
    string = string + "^" + array[i]; // 
 }else{
    string = array[i];
}
}

return string;
}

// Used to allow user to store a string

function add_to_array(array,welcome) // simple function to add data to array
{
array[array.length] = prompt(welcome);
}

基本上,如果您有一个字符串数组,例如 myStrings = ["Hello","hi","hey how are you"] 这将允许您将其存储到 localstorage 以供将来使用,并且它将以 localStorage 的形式存储.myStrings = 你好^hi^hey 你好吗^. 此外,如果您希望 ^ 成为数据中的常见字符,只需在上述函数中将其更改为您想要的任何内容。

于 2013-11-05T22:12:35.790 回答