0

我有一个 csv 文件,其中有 10 个变量都可以在 (0,1) 中。第十一变量包含一个输出值。如何根据 Javascript 中前 10 个变量的值显示带有结果变量的字段?(.csv 文件上传到服务器)?所以总的来说有 10^2 组合,我不想使用 if else 函数。

示例:第一行

1,1,1,1,1,1,1,1,1,1, 1.5

第二行

1,1,1,1,1,1,1,1,1,0, 2.5

现在如果前 10 个的值匹配,则应该输出 1.5 的值。

我怎样才能用 Javascript 做到这一点?
非常感谢!

4

1 回答 1

0

我认为这可能是您正在寻找的(小提琴:http: //jsfiddle.net/zXHNZ/1/):

var data = [
    "1,1,1,1,1,1,1,1,1,1, 1.5",
    "1,1,1,1,1,1,1,1,1,0, 2.5"
    ];

var handlers = {
    "1,1,1,1,1,1,1,1,1,1": function(value){
        console.log("I am handler 1, value is: " + value);
    },
    "1,1,1,1,1,1,1,1,1,0": function(value){
        console.log("I am handler 2, value is: " + value);
    }    
}

var execute = function(record){
    var lastCommaIndex = record.lastIndexOf(",");
    var firstSection = record.substring(0, lastCommaIndex);
    var dataSection = record.substring(lastCommaIndex + 1);   
    handlers[firstSection](dataSection);
}

for (var i = 0; i< data.length; i++) {
    execute(data[i]);
}

此外,您可能希望去掉二进制数字之间的逗号,以节省带宽。如果您想为某些组合创建一个通用处理程序,这也可以推广到 01010.. 类。

于 2013-10-28T09:28:56.997 回答