存储值的Javascript数组

时间:2014-04-27 18:12:36

标签: javascript arrays

可能有一个非常简单的解决方案我的问题但是却找不到一个,所以请帮助我以最简单的方式找到我的解决方案......

这里的问题是我以表格形式显示数据。每行有5列,其中一列显示多个值,这就是为什么我需要通过像这行[1] ['value1'],row [1] ['value2']&这样的值引用一个值的原因;然后row [2] ['value1'],row [2] ['value2']。

我声明了数组

var parray = [[],[]];

我想将值存储在类似于

的循环中
for(counter = 0; counter < 10; counter ++){
     parray[counter]['id'] += 1;
     parray[counter]['isavailable'] += 0;
}

稍后我想循环完成并得到结果:

for (var idx = 0; idx < parray.length; idx++) {
    var pt = {};
    pt.id = parray[schctr][idx].id;
    pt.isavailable = parray[schctr][idx].isavailable;
}

显然我没有工作,因为Counter是一个数字键而'id'是一个字符串键。我的问题我如何实现这个?

提前感谢所有答案。

2 个答案:

答案 0 :(得分:3)

JS没有“关联数组”的概念。你有数组和对象(地图)。数组是对象,你可以放置键,但这是不可取的。

您可以从空白数组开始

var parray = [];

并“将”对象“推入”

for(counter = 0; counter < 10; counter++){
  parray.push({
    id : 1,
    isAvailable : 0
  });
}

然后你可以从中读取

for (var idx = 0; idx < parray.length; idx++) {

  // Store the current item in a variable
  var pt = parray[idx];
  console.log(pt);

  // read just the id
  console.log(parray[idx].id);
}

Like I did here

答案 1 :(得分:1)

你想要的数组只是一个简单的对象:

// just a regular array
var parray = [];

for(var counter = 0; counter < 10; counter++){
  // create an object to store the values
  var obj = {};
  obj.id = counter;
  obj.isavailable = 0;
  // add the object to the array
  parray.push(obj);
}

后:

for (var idx = 0; idx < parray.length; idx++) {
  var pt = parray[idx];
  // do something with pt
}