我正在尝试使用此代码从两个一维数组中制作一个二维数组:

  var PassAssoArr = new Array();
  for(k in PassPourcentNames) {
    PassAssoArr[k][0] = PassPourcentNames[k]
    PassAssoArr[k][1] = PassPourcentValue[k]
  }


但是,我收到错误消息:“'undefined'为null或不是对象”,它指向for语句之后的第一行。
PassPourcentNames和PassPourcentValue具有相同数量的元素,并且所有值都不为null。第一个包含字符串,第二个包含整数。

非常感谢您的帮助。

最佳答案

  var PassAssoArr = new Array();
  for(k in PassPourcentNames) {
    PassAssoArr[k] = new Array();
    PassAssoArr[k][0] = PassPourcentNames[k]
    PassAssoArr[k][1] = PassPourcentValue[k]
  }


另外,可以使用new Array()代替[]

  var PassAssoArr = [];
  for(k in PassPourcentNames) {
    PassAssoArr[k] = [];
    PassAssoArr[k][0] = PassPourcentNames[k]
    PassAssoArr[k][1] = PassPourcentValue[k]
  }


我相信这在大多数JS引擎中实际上更快。

09-11 01:17