Javascript 在数组中存储多个字段

Javascript storing multiple fields in an array

我想知道是否可以使用 Javascript 在动态数组中存储多个不同的字段。

在 Informix 中它被称为动态记录数组,它是这样实现的

# 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

我如何使用 Javascript

做类似(或完全不同)的事情
// 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/

正如您在其他答案中看到的那样,有更简单的方法可以做到这一点,但我试图使代码尽可能相似,以便您可以看到行与行之间的联系。

我想您可以在 javascript 中创建类似动态数组的东西,但是使用纯 javascript 最简单和最惯用的方法是使用列表:

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

JavaScript 是松散类型,所以这实际上 too 很容易做到。

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]