I'm looking for the best way to create an object like this in javascript:
values: {
0: { 0: 0, 1: 0, …, 59: 0 },
1: { 0: 0, 1: 0, …, 59: 0 },
…,
58: { 0: 0, 1: 0, …, 59: 0 },
59: { 0: 0, 1: 0, …, 59: 0 }
}
I'm looking for the best way to create an object like this in javascript:
values: {
0: { 0: 0, 1: 0, …, 59: 0 },
1: { 0: 0, 1: 0, …, 59: 0 },
…,
58: { 0: 0, 1: 0, …, 59: 0 },
59: { 0: 0, 1: 0, …, 59: 0 }
}
Just for fun: a functional approach:
function range(n, cb) {
cb = cb || function (v, i) { this[i] = 0; };
var _ = {};
Array(n).join()
.split(',')
.map( cb, _);
return _;
}
// create someObj using range
var someObj = range(10, function (v, i) { this[i] = range(10); });
// display someObj
document.querySelector('#result').innerHTML =
'<code>'+
JSON.stringify(someObj)
.split('},')
.join('},<br> ')
+ '</code>';
<div id="result"></div>
You can try this:
var values = {}, temp = {}, i;
for (i = 0; i <= 59; i++)
{
temp[i] = 0;
}
for (i = 0; i <= 59; i++)
{
values[i] = temp;
}
Link to jsFiddle here.