TheLovelySausage
TheLovelySausage

Reputation: 4094

Javascript storing multiple fields in an array

I was wondering if it's possible to store multiple different fields in a dynamic array using Javascript.

In Informix it is called a dynamic array of records and it is accomplished like this

# define array of record
la_data dynamic array of record
   var_idno   integer,
   var_desc   char(30)
end record

# populate array of record
for lv_cnt = 1 to 10
   let la_data[lv_cnt].var_idno = lv_cnt
   let la_data[lv_cnt].var_desc = "dummy data"
end for

# use stored data
display la_data[5].var_idno   # will output 5
display la_data[5].var_desc   # will output dummy data

How would I do something similar (or completely different) using Javascript

Upvotes: 1

Views: 1150

Answers (3)

Robert Moskal
Robert Moskal

Reputation: 22553

I suppose you could create sometihng like a dynamic array in javascript, but the simplest and most idiomatic thing to do with pure javascript would be to use a list:

var list = [];
for (i = 0; i < 10; i++) 
    list.push({var_idno: i, var_desc: 'Dummy data'});

Upvotes: 1

Dean Meehan
Dean Meehan

Reputation: 2646

JavaScript is loosely typed so this is actually too easy to do.

var one = 1;//int
var two = "String";//String
var three = {
    "name": "Foo",
    "address": "bar"
};//Object

var array = [one, two, three];

console.log(array[0]);//1
console.log(array[1]);//String
console.log(array[1]);//[Object]

Upvotes: 0

AtheistP3ace
AtheistP3ace

Reputation: 9691

// define array of record
var la_data = [];

// populate array of record
for (var lv_cnt = 1; lv_cnt <= 10; lv_cnt++) {
   // This initializes an object we can put your properties on
   la_data[lv_cnt] = {};
   la_data[lv_cnt]['var_idno'] = lv_cnt;
   la_data[lv_cnt]['var_desc'] = "dummy data";
}

// use stored data
console.log(la_data[5].var_idno)   // will output 5
console.log(la_data[5].var_desc)   // will output dummy data

Fiddle: http://jsfiddle.net/xxqkfuot/

As you can see in other answers there are simpler ways to do this but I was attempting to keep the code as similar as possible so you could see the connection between the lines.

Upvotes: 3

Related Questions