簡體   English   中英

for循環中的數組與第二個for循環數組javascript合並

[英]array in for loop merge with second for loop array javascript

我在for循環中合並2個數組時遇到問題,請參見代碼:

function count_days(tijden,datums ){

        var length = tijden.length;
        element = null;
        var similarities =0;
        var backup = [];
        var dateArray =[];

        for (var i = 0; i <length; i++) {
                element = tijden[i];
                tijden[i] = element;


            dateArray = getDates(new Date(tijden[i]['begin']), new Date(tijden[i]['eind']));


         }

問題是當代碼運行時,我為每個循環獲取一個數組。 我需要從所有循環中獲取一個數組。 我試一下concat但沒有讓它起作用

它應該是...

dateArray.push(
  getDates(new Date(tijden[i]['begin']), new Date(tijden[i]['eind']))
);

...,或者,如果getDates方法返回一個數組並且您希望將dateArray平:

Array.prototype.push.apply(dateArray,
  getDates(new Date(tijden[i]['begin']), 
           new Date(tijden[i]['eind']))
);

現在,您只需在for循環的每個步驟中重寫dateArray


旁注:這個...

element = tijden[i];
tijden[i] = element;

...的意義完全為零:這些行中的至少一條(很可能是后者)是多余的。 刪除它-代碼變得更容易閱讀:

var element, currDates;
for (var i = 0, i < length; i++) {
  element = tijden[i];
  currDates = getDates(new Date(element.begin), new Date(element.eind));
  Array.prototype.push.apply(dateArray, currDates);
}

暫無
暫無

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

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