使用for循环迭代javascript中的特定数组

Using for-loop to iterate specific arrays in javascript

本文关键字:数组 javascript for 循环 迭代 使用      更新时间:2023-09-26

我的ajax调用返回一些数据,但我想使用for循环消除它。

这个for循环将获得第一个任务名称最后一个任务名称对于每一年,假设对于2001,它将检索task1 and task4,等等。

但是可以有更多的任务和更多的年份数据不仅仅是4年,还可以是6年,7年或10年。

for循环也会考虑这个

但我实际上卡住的问题是没有任何初始变量。Ajax返回obj[]数组,每个数组都有tasknameyear

如何分配一年作为初始变量和开始for循环?

  Taskname           Year
  task1               2001
  task2               2001
  task3               2001
  task4               2001
  task1-a             2002
  task2-a             2002
  task3-a             2002
  task4-a             2002
  task1-b             2003
  task2-b             2003
  task3-b             2003
  task4-b             2003

以下内容应该有所帮助。这认为记录是按年份

排序的。
        var tasks = [{taskName:'task1','year':'2001'},
            {'taskName':'task2','year':'2001'},
            {'taskName':'task3','year':'2001'},
            {'taskName':'task4','year':'2001'},
            {'taskName':'task1-a','year':'2002'},
            {'taskName':'task2-a','year':'2002'},
            {'taskName':'task3-a','year':'2002'},
            {'taskName':'task4-a','year':'2002'},
            {'taskName':'task1-b','year':'2003'},
            {'taskName':'task2-b','year':'2003'},
            {'taskName':'task3-b','year':'2003'},
            {'taskName':'task4-b','year':'2003'}
        ];
        var resultArray = tasks.filter(function (item, index, array ){
            if(index === 0 || index === (array.length -1)){
                return true;
            } else if(index < (array.length -1) ){
                return (item.year !== array[index -1].year)
                ||(item.year !== array[index +1].year);
            }
        });

        alert(JSON.stringify(resultArray));