可能有一个非常简单的解决方案我的问题但是却找不到一个,所以请帮助我以最简单的方式找到我的解决方案......
这里的问题是我以表格形式显示数据。每行有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'是一个字符串键。我的问题我如何实现这个?
提前感谢所有答案。
答案 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);
}
答案 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
}