Firefox 的 toSource() 函数的任何替代方案



我正在使用dynarch日历,我希望所选日期范围转换为字符串,就像firefox的toSource()一样。

二维数组转换为源代码的示例:

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

是否可以在其他浏览器中获得相同的输出???

我已经使用jQuery 1.6.2库。所以,我不希望任何其他库或更大的脚本让这个函数工作。

您已经标记了json,现代浏览器分别支持JSON.stringifyJSON.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));

相关内容

  • 没有找到相关文章

最新更新