日期:2014-05-16  浏览次数:20371 次

求用jquery解决思路!
本帖最后由 tangyuhaha 于 2013-06-20 15:56:57 编辑
1、整个界面打开左侧栏时,产生一个数组,该数组的元素数量随机生成,每个元素是一个对象,对象的属性包括:Address,DateTime, From, To,

   其中Address表示地址,如XX街XX号,DateTime是一个时间字符串,格式符合yyyy-MM-dd hh:mm:ss,From和To都表示电话号码,手机号码如139XXXXXXXX,座机号码028-XXXXXXXX.

2、将数组内元素的属性,参考Google地图公交路线的方式,按照时间顺序,逐一显示在左侧边栏的列表中 

3、提供一个函数,该函数输入为一个数组,动作就是完成2的要求

4、在侧栏上有一个按钮,可以调用3中提供函数,并完成1中数组生产工作,将生成的数组作为参数传递给3中实现的函数 

------解决方案--------------------
不清楚你的难点在哪,是那个数组按照日期排序么?
数组排序JS提供了sort(sortBy)方法,sortBy是你自己可扩展的JS函数。



function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

//输出:
//10,5,40,25,1000,1
//1,5,10,25,40,1000


------解决方案--------------------
引用:
Quote: 引用:

用json吧,来存储你的数据,然后 根据你google选择的参数值 为对json里面的数据进行排序 显示。


请问怎么随机生成json格式呢? 最好能有个示范的代码 谢谢了!


额,给你提供参考参考...

function jsonToString (obj){  
        var THIS = this;   
        switch(typeof(obj)){  
            case 'string':  
                return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';  
            case 'array':  
                return '[' + obj.map(THIS.jsonToString).join(',') + ']';  
            case 'object':  
                 if(obj instanceof Array){  
                    var strArr = [];  
                    var len = obj.length;  
                    for(var i=0; i<len; i++){  
                        strArr.push(THIS.jsonToString(obj[i]));  
      &n