将数据从文本文件存储到数组中

时间:2018-01-07 08:02:57

标签: javascript

我的文字文件包含很多电子邮件。我希望从文本中读取并存储到emails = [];。 但是当我检查我的代码时,它只存储文本文件中的最后一个值 这是我的代码:

var emails = [];
        jQuery.get('text.txt', function (data) {
            var lines = data.split("\n");
            for (var i = 0, len = lines.length; i < len; i++) {
                emails.push(lines[i]);
            $('input[type="radio"].st13').each(function () {
                var radio = $(this);
                var email = $(this).parent().prev('td').html();
                console.log($.inArray(email, emails));
                if ($.inArray(email, emails) != -1) {
                    radio.prop('checked', true);
                }

            });
            }
        });

请帮我将文本文件中的所有数据存储到email = [];中,如下所示:

emails = [
         'email@gg.com',
         'anna@domain.com'
       ];

1 个答案:

答案 0 :(得分:0)

使用array.push(item),如下所示:

for (var i = 0, len = lines.length; i < len; i++) {
    emails.push(lines[i]);
}


如果您使用emails = [lines[i]];,那么每次循环时,emails数组都会分配一个新数组[lines[i]]。所以最后一次迭代将是emails = [lines[lastIndex]]
这是你在循环结束后得到的结果。


此外,正如有人指出:

  

data.split(&#34; \ n&#34;)已经为您提供了一个数组。

这意味着您可以在没有循环的情况下向数组中添加项目,如下所示:

emails = emails.concat(data.split("\n"));