我正在使用dynarch日历,我希望将选定的日期范围转换为字符串,就像firefox的toSource()
一样。
将二维数组转换为源的示例:
[20110917, [20110920, 20110922], 20110923, [20110925, 20110926]]
在其他浏览器中获得相同输出的任何替代方案.. ???
我已经在使用jQuery 1.6.2库了。 所以,我不希望任何其他库或更大的脚本让这个功能起作用。
答案 0 :(得分:4)
您已将其标记为json,modern browsers支持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));