JS 二维数组获取数据时出现 undefined 的原因是什么?如何解决?
js中二维数组获取到的数据控件数据前面都有个undefined的原因和解决方法
在使用js获取二维数组时,如果数据控件数据前面出现undefined,可能是因为数组初始化不正确。一个典型的错误是:
var lists = []; $(...).each(function (i) { lists[i][] = []; lists[i][0] += $("#one").val(); // ... });
这段代码中,lists[i][]的写法存在问题。它会创建一个空数组,然后试图向该空数组添加元素。但实际上,lists[i]本身应该是一个空数组,而不是一个包含空数组的数组。
要解决这个问题,我们可以将代码更改为:
var lists = []; $(...).each(function (i) { lists[i] = []; lists[i][0] = $("#One").val(); // ... });
通过这一更改,lists[i]将直接成为一个空数组,可以正确添加元素。从而避免在数据控件数据前面出现undefined。