любая альтернатива функции toSource () в Firefox - PullRequest
1 голос
/ 11 сентября 2011

Я использую календарь dynarch и хочу, чтобы выбранные диапазоны дат были конвертированы в строки, например toSource() do в Firefox.

Пример преобразования двумерного массива в источник:

[20110917, [20110920, 20110922], 20110923, [20110925, 20110926]]

любая альтернатива для получения такого же вывода в других браузерах .. ???

Я уже использую библиотеку jQuery 1.6.2.Поэтому я не хочу, чтобы какая-либо другая библиотека или скрипт большего размера заставляли эту функцию работать.

1 Ответ

4 голосов
/ 11 сентября 2011

Вы пометили его , современные браузеры поддерживают JSON.stringify и JSON.parse методы для преобразования данных в текст (представление JSON) и текста в данные соответственно.

В вашем случае:

var arr = [20110917, [20110920, 20110922], 20110923, [20110925, 20110926]];

// yields: [20110917,[20110920,20110922],20110923,[20110925,20110926]]
console.log(JSON.stringify(arr));

Альтернативный метод:

function arr_to_string(data) {
    if (data instanceof Array) {
        var arr = [];
        for (var i=0; i<data.length; i++) {
            arr.push(arr_to_string(data[i]));
        }
        return "[" + arr.join(",") + "]";
    }
    // Warning: we expect all array elements to be digits, do not use this if the
    // data can be a random string
    return data;
}
console.log(arr_to_string(arr));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...