-1
.......
........

key1 = 'start' + i + '';
key2 = 'end' + i + '';
datePass.push({
    key1: start,
    key2: end
});

it returns

[{key1 : `somevalue`, key1: 'somevalue'}]

but i want

[{start1 : `somevalue`, end1: 'somevalue'}]

and so on.

How can i do so. pleas help.

thecodeparadox
  • 86,271
  • 21
  • 138
  • 164
  • possible duplicate of [How can I add a key/value pair to a JavaScript object literal?](http://stackoverflow.com/questions/1168807/how-can-i-add-a-key-value-pair-to-a-javascript-object-literal) – Ryan Sep 13 '11 at 10:45

3 Answers3

4

try using:

datePass[key1] = 'some value';
datePass[key2] = 'some other value';
jeffreydev
  • 1,722
  • 13
  • 31
1

try this

var i=1;
var key1 = 'start' + i;
var key2 = 'end' + i;
var datePass = {}; // this instantiates a blank object
datePass[key1] = 'someValue'; // assigns a value to object key
datePass[key2] = 'someValue';
chim
  • 8,407
  • 3
  • 52
  • 60
1

IF your goal is to create a list of {startx: xxx, endx: xxx} object s , since you're using push: you've to proceed in the following way.

key1 = 'start' + i;
key2 = 'end' + i;

var o = {};
o[key1] = start;
o[key2] = end;

datePuss.push(o);
user278064
  • 9,982
  • 1
  • 33
  • 46