vishare 2010-04-13 22:31
浏览 242
已采纳

求思路

有一个数组arr,写一个方法,
实现的功能是:
如果参数:name为"C",flag为-1,则找到arr中在C之前,且当前时间(2010-04-13)在第二,三列之间的元素,["A","2010-04-05","2010-04-18"],
如果参数:name为"C",flag为1,则找到arr中在C之后,且当前时间(2010-04-13)在第二,三列之间的元素,["D","2010-04-05","2010-05-05"]

function getIndex (name,flag){
var arr = [["A","2010-04-05","2010-04-18"]
,["B","2010-01-05","2010-01-25"]
,["C","2010-04-05","2010-04-25"]
,["D","2010-04-05","2010-05-05"]
,["E","2010-02-05","2010-02-15"]];
for (var i = arr.length-1;i>0;i++) {
....
}

    }

顺便想问一下,这样的问题的难点在哪里。谢谢

  • 写回答

1条回答 默认 最新

  • chem_zqm 2010-04-15 02:12
    关注

    function getIndex(name, flag) {
    var arr = [["A", "2010-04-05", "2010-04-18"],
    ["B", "2010-01-05", "2010-01-25"],
    ["C", "2010-04-05", "2010-04-25"],
    ["D", "2010-04-05", "2010-05-05"],
    ["E", "2010-02-05", "2010-02-15"]];
    var len = arr.length;
    function getIndex(str) {
    var i;
    for (i = 0; i < len; i++) {
    if (this[i][0] == str)
    return i;
    }
    return false;
    }

    var i = getIndex.call(arr, name);
    var arr1 = flag == -1 ? arr.slice(0, i) : arr.slice(i + 1, len);
    function getDateStr() {
        function fixZero() {//补0函数
            return this < 10 ? '0' + this : this;
        }
        var month = fixZero.call(this.getMonth() + 1);
        var date = fixZero.call(this.getDate() + 1);
        return this.getFullYear() + '-' + month + '-' + date;
    }
    
    var now = getDateStr.call(new Date());
    
    function getResult(dateStr) {
        var i;
        var res = [];
        for (i = 0; i < this.length; i++) {
            if (this[i][1] <= dateStr && this[i][2] >= dateStr)
                res.push(this[i]);
        }
        console.log(res.length);
        return res;
    }
    
    return getResult.call(arr1, now);
    

    }
    getIndex('C', 1);
    要自己写函数格式化日期,挺恶心的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集