user4072347
user4072347

Reputation:

Push datas into a multidimensional array in JS

I'm trying to push some datas into my array.

Actually my code looks like this:

arr.push('step1||item1||99');

It works but it's not the best as I need to split it after to manager datas.

How can I transform this into a multidimensional array ?

What I tried:

arr = [];
arr['step'] = 'step1';
arr['name'] = 'item1';
arr['number'] = '99';
arr.push(arr);

But it doesn't work...

Any help please.

Upvotes: 0

Views: 4763

Answers (3)

7urkm3n
7urkm3n

Reputation: 6311

Array holds "indexes"

Object holds "Key" and "Value"

Array example:

var arr = new Array;
arr[0] = 'step1';
arr[1] = 'item1';
arr[2] = '99';
console.log(arr);

Object example:

var obj = new Object;
obj.stop = 'step1';
obj.item = 'item1';
obj.number = 99;
console.log(obj);

Objects in array:

var arr = new Array;
var obj = new Object;
obj.stop = 'step1';
obj.number = 99;

arr.push(obj)
console.log(arr); // Output => [{stop: 'step1', number: 99}]

Upvotes: 2

Kurohige
Kurohige

Reputation: 1418

maybe you mean something like this

arr=[];
var s={
step:'step1',
name:'item1',
number:'99'
}
arr.push(s);
console.log(arr);

s is an object, which works just like an array, but is referenced by a string instead of an integer:

s['step'] === 'step1'
s.step === 'step1'
arr[0] === s

Be aware that there are some differences, like you can't iterate over an object like you can an array: you need to use another method like a "for in" loop, for instance.

Upvotes: 0

Shannon Scott Schupbach
Shannon Scott Schupbach

Reputation: 1278

Is there a reason you don't want these individual data points to be objects?

var arr = [];
var dataPoint = { 'step': 'step1', 'name': 'item1', 'number': 99 };
arr.push(dataPoint);

If this isn't what you're looking for, can you give a fuller explanation of what your dataset should look like so we can better understand the problem?

Upvotes: 3

Related Questions