Javascript TypeError:无法读取属性';推动';二维数组中未定义的

Javascript TypeError:无法读取属性';推动';二维数组中未定义的,javascript,arrays,Javascript,Arrays,所以,在这里,我试图创建一个二维数组;数组的数组。但是,每当我尝试将值推送到嵌套数组时,就会收到标题中显示的错误。在这些for循环中,“b”数组充满了字符串列表,这些字符串都是以某种格式接收的,然后代码将其分解并将其推送到二维数组中的值,以便进一步处理 var c = [] for(var u = 0; u < b.length; u++){ c[u] = new Array(0); for(var y = 0; y < b[u].length; y++){ c[u

所以,在这里,我试图创建一个二维数组;数组的数组。但是,每当我尝试将值推送到嵌套数组时,就会收到标题中显示的错误。在这些for循环中,“b”数组充满了字符串列表,这些字符串都是以某种格式接收的,然后代码将其分解并将其推送到二维数组中的值,以便进一步处理

var c = []

for(var u = 0; u < b.length; u++){
  c[u] = new Array(0);
  for(var y = 0; y < b[u].length; y++){
    c[u][y].push(b[u].substring(b[u].indexOf('\"'), b[u].indexOf(",")));
    b[u] = b[u].substring(b[u].indexOf(',') + 1);
  }
}
var c=[]
对于(var u=0;u

我在这里查看了stackoverflow上的其他解决方案;要么我无法理解它们,要么它们不适用于这里。我不知道这里出了什么问题。请帮助。

因为您已经将数组
b
声明为
空白
而没有任何值
var b=[]

因此,
b.length
将是
0

然后(var u=0;u
的条件
将不会执行,代码也不会工作

更新:

因此,您可以直接使用:

c[u].push(b[u].substring(b[u].indexOf('\"'), b[u].indexOf(",")));

因为您已经将数组
b
声明为
blank
而没有任何值
var b=[]

因此,
b.length
将是
0

然后(var u=0;u
的条件
将不会执行,代码也不会工作

更新:

因此,您可以直接使用:

c[u].push(b[u].substring(b[u].indexOf('\"'), b[u].indexOf(",")));
var c=[]
对于(var u=0;u
var c=[]
对于(var u=0;u
我认为这里的问题是您试图使用
。将
推到已经是值的东西上:

/**
*c是一个数组:[]
*/
变量c=[]
对于(var u=0;u
对于所需内容,您可以使用以下任一选项:

//值(根据需要替换)
var value=b[u]。子字符串(b[u]。indexOf(“\”),b[u]。indexOf(“,”);
//选择1
c[u][y]=值;
//选择2
c[u]。推送(值);

我认为这里的问题是您试图使用
。将
推到已经是值的东西上:

/**
*c是一个数组:[]
*/
变量c=[]
对于(var u=0;u
对于所需内容,您可以使用以下任一选项:

//值(根据需要替换)
var value=b[u]。子字符串(b[u]。indexOf(“\”),b[u]。indexOf(“,”);
//选择1
c[u][y]=值;
//选择2
c[u]。推送(值);

首先,当流程开始时,
b.length
为零;在开始时,数组中还没有任何内容,因此外部循环将不执行迭代。b已经包含字符串,由另一个循环填充。对不起,我要澄清一下。你想做什么?我几乎肯定有比嵌套for循环和有状态c更好的方法所有内容都是
.push()
。很难说你想要什么样的结果,但它可能应该是
c[u]。push(…)
而不是
c[u][y]。push(…)
。它以列表格式解释输入,用逗号分隔。出于某种原因,我从哪里得到的结果坚持在列表中的每个元素周围使用“.”。之后我会对这些字符串做其他的事情,不过,我只是想把它切碎成块。首先,当进程开始时,
b.length
为零;在开始时,数组中还没有任何内容,因此外部循环将不执行迭代。b已经包含字符串,由另一个循环填充。我会澄清的,对不起。你想做什么?我几乎肯定有比嵌套for循环和对
.push()
的有状态调用更好的方法。很难说你想要什么样的结果,但它可能应该是
c[u]。push(…)
而不是
c[u][y]。push(…)
。它以列表格式解释输入,用逗号分隔。出于某种原因,我从何处获得它坚持在列表中的每个元素周围使用''''。但之后我将对这些字符串执行其他操作,不过,我只是尝试将其切分为块。b包含字符串。前面,var b=[]仅用作此问题的占位符。对于混淆,我深表歉意。b包含字符串。之前,var b=[]仅用作此问题的占位符。对于混淆,我深表歉意。很高兴知道它有帮助。很高兴知道它有帮助。