我的文字文件包含很多电子邮件。我希望从文本中读取并存储到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'
];
答案 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"));