0

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****************************
}
asked Aug 16, 2012 at 12:20

2 Answers 2

3

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
Sign up to request clarification or add additional context in comments.

Comments

0

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

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.