Javascript split()在第二个实例中不起作用
我正在尝试编写一个返回音节字典数组的函数。我希望在数组“dictArray”的每个索引中都有第三个元素。我不确定lineSplit[1]的原因。split(“”)(第二个实例)不起作用。我收到一个错误,说明lineSplit[1]。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
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
确实包含您认为它包含的内容?