簡體   English   中英

使用for循環迭代javascript中的特定數組

[英]Using for-loop to iterate specific arrays in javascript

我的ajax調用返回了一些數據,但是我想使用for循環將其消除。

這個for循環將獲取每年的第一個任務名稱最后一個任務名稱 ,比方說2001它將檢索task1 and task4依此類推。

但是不僅有4個任務,而且還有更多年數據,可以是6或7或10。

for循環也會考慮這一點。

但是我實際上遇到的問題是沒有任何初始變量。 Ajax返回obj[]數組,每個數組都有tasknameyear

如何指定年份作為初始變量並開始循環?

  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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM