有人可以就使用javascript在CSV表格/数据集中搜索模式的更好方法提出一些建议吗?
var dataset= [[0, 0, 0], [0, 1, 1], [0, 1, 1]];
var pattern = [[0, 0, 0], [0, 1, 1], [0, 1, 1]];
arrex(dataset, pattern, 0, 0);
arrex = function(dataset, pattern, row, column) {
if(dataset[row][column] == pattern[row][column] || patern[row][column] == "_") { // _ is the dont care case
if(dataset[row].length-1 == column && dataset.length-1 == row){
return true; // final case everything matched!!
} else if (dataset[row].length > column+1) {
return arrex(dataset, pattern, row, column+1);
} else {
return arrex(dataset, pattern, row+1, 0); // check next row
}
} else {
return false;
}
}
任何建议都很棒......我特别感兴趣的是将数组转换为字符串,然后进行字符串比较。
答案 0 :(得分:1)
好吧,假设模式与数据集的大小相同并且包含0,1或“_”,那么它就是一个内容:
var dataset= [[0, 0, 0], [0, 1, 1], [0, 1, 1]];
var pattern = [[0, 0, 0], ["_", 1, 1], [0, 1, 1]];
var match= dataset.join('').test(new RegExp('^' + pattern.join('').replace(/_/, '.') + '$'));
console.log(match);