javascript - 在Javascript中将数据附加到多维数组中
问题描述
我正在将 PHP 代码编写到 Node.js 中,并且在程序处理多维数组的地方我已经停止了。
在 PHP 中我得到了这个(删除了 for 循环以简化它):
$tables = [];
$left_over_array = [34, 35, 36, 37];
$round = 0;
$row = 0;
$tables['round_'.$round][$row][]=$left_over_array[0];
$tables['round_'.$round][$row][]=$left_over_array[1];
$tables['round_'.$round][$row+3][]=$left_over_array[0];
$tables['round_'.$round][$row+3][]=$left_over_array[1];
编辑:$row
价值不在0,1,2,3
但可能是0, 1, 10, 3, 12
有序的。
PHP 代码的结果如下所示:
$tables = [
'round_0'=>[
'0'=>[
0=>34,
1=>35
],
'3'=>[
0=>36,
1=>37
],
]
]
稍后我需要访问这些数据。当我在这个结构中拥有它时,我可以简单地做$tables['round_0'][3][1]
以获得价值36
我的问题是,如何用 Javascript 实现同样的目标?还是我应该改用对象?然后我如何对对象做同样的事情
解决方案
Javascript 关联数组必须声明为对象,并且在您尝试将任何内容放入其中之前,密钥必须存在。
因此,按照我的代码,我准备了一个从 0 到 9 的循环,然后检查特定的 round_{number} 是否未定义。如果是这样,我将键设置为数组,然后将元素添加到其中,类似于 php 中的[],但使用 Javascript 中的函数push()。
var tables = [];
var left_over_array = [34, 35, 36, 37];
for (var round = 0; round < 10; round++) {
if (tables['round_'+round] == undefined) {
tables['round_'+round] = [];
}
tables['round_'+round].push([
left_over_array[0],
left_over_array[1],
]);
tables['round_'+round].push([
left_over_array[2],
left_over_array[3],
]);
}
console.log(tables['round_0'][0][1]);
推荐阅读
- reactjs - 如何使用 react js 导入 Skype 对象?
- css - 缩小时的Gridview空白
- java - 当jsp调用servlet并重定向回同一个jsp时如何保留jsp页面上的字段值
- python - 来自 pixle 的 pong 与 CNN 和策略梯度
- reactjs - 在 Redux 中测试动作创建者时如何模拟 Firebase SDK?
- android - 尝试使用 HeapAnalytics 时出现 HeapGradleException
- coronasdk - 电晕几个transition.to失相
- scala - 收集 Akka Actor 系统指标
- google-api - Google Drive API 文件权限不足错误
- javascript - 将 chart.js 用于 Polar 图表,如何为自定义宽度创建每个可见值