在 javascript 中添加数组到数组

Add array to array in javascript?

本文关键字:数组 添加 javascript      更新时间:2023-09-26

如何将数组添加到带有变量和函数的数组中?

var ranges = new Array();
fulldate='2012/06/11:2012/10/23|2012/03/11:2012/05/23'.split('|');
for(var i=0; i<fulldate.length; i++) {
    adate=fulldate[i].toString().split(':');
    startdate=adate[0].toString().split('/');
    enddate=adate[1].toString().split('/');
    //***This area****************************
    ranges.push = ({ start: new Date(startdate[0],startdate[1]-1,startdate[2]), end: new Date(enddate[0],enddate[1]-1,enddate[2]) });
    //***This area****************************
}
push是一个

方法,你必须像这样使用它:

ranges.push({ start: new Date(startdate[0],startdate[1]-1,startdate[2]), end: new Date(enddate[0],enddate[1]-1,enddate[2]) });

挑剔地说,你并不是真的试图将一个数组添加到另一个数组。为此,您只需使用array.concat()

var cArray = aArray.concat(bArray).

看起来您想将一个数组转换为另一个数组。您可以使用array.map()

var fulldate='2012/06/11:2012/10/23|2012/03/11:2012/05/23'.split('|');
var ranges = fulldate.map(function(x) {
    var adate=x.toString().split(':');
    var startdate=adate[0].toString().split('/');
    var enddate=adate[1].toString().split('/');
    return { 
        start: new Date(startdate[0],startdate[1]-1,startdate[2]),
        end: new Date(enddate[0],enddate[1]-1,enddate[2])
    };
});