How do I add an array to array with variables & functions?
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****************************
}
2 Answers 2
push is a method, you have to use it like this:
ranges.push({ start: new Date(startdate[0],startdate[1]-1,startdate[2]), end: new Date(enddate[0],enddate[1]-1,enddate[2]) });
answered Aug 16, 2012 at 12:22
Constantinius
35.2k9 gold badges79 silver badges85 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
To be persnickety, you aren't really trying to add an array to another. For that you can just use array.concat():
var cArray = aArray.concat(bArray).
It looks like you want to transform one array into another. You could use 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])
};
});
answered Aug 16, 2012 at 12:59
Erin Stanfill
1,27811 silver badges18 bronze badges
Comments
Explore related questions
See similar questions with these tags.
lang-js