使用txt文件在HTML中加载组合时删除重复项

时间:2019-01-23 17:21:38

标签: html ajax

以下是我使用txt文件加载组合的代码:

$("#Combo1").change(function() {
    $('#Combo2').empty();
                $.ajax({
                url: 'File.txt',
                type: 'get',
                success: function(txt){
                    var value = [];
                    var txtArray = txt.split('\n');
                    for (var i = 0; i < txtArray.length; i++)
                    {
                        var tmpData = txtArray[i].split(',');
                        if (!value[tmpData[1]]) 
                        {
                        value.push([tmpData[1]]);
                        value[tmpData[1]] = true;
                        }
                    }
                    $('#Combo2').empty();
                    $.each(value, function(i, p) {
                    $('#Combo2').append($('<option></option>').val(p).html(p));
                    });

                }
                })
            });
    $("#Combo1").trigger("change");

在这里更改Combo1,这将被称为。 Ajax用于读取 File.txt 的内容。File.txt有一个“,”分隔为两列,我愿意在其中打印出coulmn2。下面给出的是File.TXT的内容。

A,31JAN
B,25JAN
C,31JAN
D,6JAN
E,6JAN

我要将上述日期加载到Combo2中。使用上面的代码,我可以忽略31JAN。但是6JAN越来越多了。简而言之,最后一行给出的值会重复。休息就好了

1 个答案:

答案 0 :(得分:1)

尝试一下:

var txt="A,31JAN\nB,25JAN\nC,31JAN\nD,6JAN\nE,6JAN";
var txtArray = txt.split('\n');
for (var i = 0; i < txtArray.length; i++)
       txtArray[i] = txtArray[i].split(",").pop();
var value = txtArray.reduce(function(a,b){if(a.indexOf(b)<0)a.push(b);return a;},[]);
console.log(value); //returns array 

另外,请读以下内容:https://stackoverflow.com/a/9229821/9920079:)