Javascript split()在第二个实例中不起作用

Javascript split()在第二个实例中不起作用,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我正在尝试编写一个返回音节字典数组的函数。我希望在数组“dictArray”的每个索引中都有第三个元素。我不确定lineSplit[1]的原因。split(“”)(第二个实例)不起作用。我收到一个错误,说明lineSplit[1]。split(“”)未定义 function formatData(data){ var lines = data.toString().split("\n"), lineSplit, dictArray = []; lines.f

我正在尝试编写一个返回音节字典数组的函数。我希望在数组“dictArray”的每个索引中都有第三个元素。我不确定lineSplit[1]的原因。split(“”)(第二个实例)不起作用。我收到一个错误,说明lineSplit[1]。split(“”)未定义

function formatData(data){
  var lines = data.toString().split("\n"),
       lineSplit,
       dictArray = [];

  lines.forEach(function(line){
    lineSplit = line.split("  ");
    lineSplit.concat([lineSplit[1].split(' ')]);
    dictArray.push(lineSplit);
  });

  return dictArray;
}
编辑-数据有一个单词,两个空格,然后单词的发音用一个空格分割,然后是新行

这是一个数据示例:

AARON  EH1 R AH0 N
AARON'S  EH1 R AH0 N Z
AARONS  EH1 R AH0 N Z

该错误是一个TypeError:无法对未定义的调用方法“split”

此代码中有两个问题

  • 您的代码正在每行搜索
    (双空格)拆分点。如果找不到任何,则不会有
    lineSplit[1]
    因此
    lineSplit[1]。split(“”)将抛出TypeError:无法读取未定义的属性“split”
  • 你到底想完成什么?如果你想把一个段落分成几行,并用空格替换重复的空格,只要用
    line.replace(/\s{2,}/g,“”)

  • 数据中有什么?当程序失败时,
    line
    中有什么内容?能否在
    lineSplit=line.split(“”)行中为参数“data”提供一些示例数据
    分隔符“”有两个空格而不是一个空格是故意的吗?或者这就是bug?这是故意的,这个单词与发音之间用两个空格隔开,每个空格只用一个空格隔开。在调用
    split()
    之前,您能否确认
    line
    确实包含您认为它包含的内容?