【问题标题】:My array produces NAN我的数组产生 NAN
【发布时间】:2016-04-05 12:44:12
【问题描述】:

我正在尝试创建一个程序,它接收可变数量的单行矩阵(也是可变长度)并将它们加在一起。所以数组一的元素一添加到数组二的元素一等等。

function add() {
var x = document.getElementById("input").value;
var z = x.split(" ");
var l = z[0].length;
var y = [];
y.length = l;
var i = 0;
var j = 0;
for(j = 0; j<l;j++){
for(i = 0; i < z.length; i++){

y[j] += z[i][j];
 }
}
document.getElementById("output1").innerHTML = y;


}

 </script>
<input type="text" id = "input" value = "233,322,444"> 
<button onclick = "add();"> add </button>
<div id = "output1"></div>

这是我试图开始工作的一些代码。数组产生 NAN,NAN..直到数组结束。任何帮助将不胜感激。

另一个常见的输出是 undefined233,undefined322,undefined444。这是我输入 233,322,444 后的结果。

 Also all columns must be same length i.e z[0] is length of all sets of     numbers

【问题讨论】:

  • 某种测试输入数据可能对您的问题有用。在不知道数组中发生了什么的情况下,很难理解您正在处理的输出。
  • 请将您的输入数据添加到输入字段。

标签: javascript html arrays matrix multidimensional-array


【解决方案1】:

x 将是一个文本字符串。如果将此文本拆分为空白,您将获得一个包含 z.length 元素的子字符串 (z) 数组。

我认为您的代码需要像 256 765 187 239 这样的输入,并且应该在 y[0] 中添加 2,7,1,2,在 y[1] 中添加 5,6,8,3 和在中添加 6,5,7,9 y[2];

你会遇到这些问题:

  1. 您假设,每个组的长度都与第 0 组相同
  2. 在添加 y[j] 之前,您应该执行 y[j]=0;
  3. z[i][j] 是“字符串”类型

【讨论】:

  • 这些是我输入的内容。应该 parseInt(z[i][j]) 工作吗?虽然我认为没有必要,因为所有输入都是数字。此外,所有列的长度必须相同,即 z[0] 是所有数字集的长度
猜你喜欢
  • 2021-06-04
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 2017-03-28
  • 2018-08-20
  • 2020-10-02
  • 2010-12-23
  • 2021-12-06
相关资源
最近更新 更多