[英]Using for-loop to iterate specific arrays in javascript
我的ajax調用返回了一些數據,但是我想使用for循環將其消除。
這個for循環將獲取每年的第一個任務名稱和最后一個任務名稱 ,比方說2001
它將檢索task1 and task4
依此類推。
但是不僅有4個任務,而且還有更多年數據,可以是6或7或10。
for循環也會考慮這一點。
但是我實際上遇到的問題是沒有任何初始變量。 Ajax返回obj[]
數組,每個數組都有taskname和year 。
如何指定年份作為初始變量並開始循環?
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.