我正在加载像这样的文本文件......
Cue Target Info Group
CONTACTS FRIENDS genuine Group1
EXECUTIVE PRODUCER genuine Group1
通过jQuery使用此功能......
var stimuliArray = "";
jQuery.get("Words1.txt", function(data){
stimuliArray = data.split("\n")
});
这适用于按每个新行分割制表符分隔文件...
Cue Target Info Group,CONTACTS FRIENDS genuine Group1,EXECUTIVE PRODUCER genuine Group1
现在我也可以修改它以按标签分割...
var stimuliArray = "";
jQuery.get("Words1.txt", function(data){
stimuliArray = data.split("\t")
});
它会给出这个结果......
Cue,Target,Info,Group CONTACTS,FRIENDS,genuine,Group1
EXECUTIVE,PRODUCER,genuine,Group1
我希望输出与原始文件一样......
Cue Target Info Group
CONTACTS FRIENDS genuine Group1
EXECUTIVE PRODUCER genuine Group1
...这样我就可以访问这样的数据(例如,数组[2] [1]),输出就是....
PRODUCER
我试图在jQuery函数之后添加一行代码来分割选项卡或新行,但它根本不起作用......
stimuliArray = stimuliArray.split("\t");
使用那种代码,数组保持不变。
我只是希望文件可以像普通数组一样访问,以便我可以逐行访问信息以及我选择的任何索引。谢谢你的任何提示!
答案 0 :(得分:3)
您需要按行(\n
)分割文本,然后逐行分割(\t
)。像这样的东西。
stimuliArray = data.split('\n').map(function(ln){
return ln.split('\t');
});
答案 1 :(得分:1)
首先一步一步:
var source = `Cue Target Info Group
CONTACTS FRIENDS genuine Group1
EXECUTIVE PRODUCER genuine Group1`;
// split the source by line first
var lines = source.split('\n'); // lines is now an array where each element is one line of text
// Now loop through each line and split the line by tab
// by applying a map function to each line
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
var output = lines.map(function(line) {
return line.split('\t'); // returns a new array of words (for each line);
});
console.log(output[2][1]); // displays PRODUCER
如果您想要不可读的代码或ES6,这里有1个班轮:
var source = `Cue Target Info Group
CONTACTS FRIENDS genuine Group1
EXECUTIVE PRODUCER genuine Group1`;
var output = source.split('\n').map(line => line.split('\t'));
console.log(output[2][1]); // displays PRODUCER