我试图写一个返回一个音节字典数组的函数。我希望在数组的每个索引中都有第三个元素' 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'在未定义
答案 0 :(得分:0)
此代码中存在两个问题。
" "
(双空格)分割点。如果找不到任何内容,则不会有lineSplit[1]
因此lineSplit[1].split(" ")
会抛出TypeError:无法读取属性' split'未定义的。line.replace(/\s{2,}/g, " ")