gpt4 book ai didi

javascript - .txt文件的脚本阅读栏

转载 作者:行者123 更新时间:2023-11-30 12:16:03 25 4
gpt4 key购买 nike

我有这个脚本:

$.get('file.txt', function(x) {

var i;
var pos = 0;
var availableTags = [];

x = x.split(/[\;,\n]+/);

for (i = 0; i < x.length; i = i + 2)
availableTags[pos++] = x[i];

console.log(availableTags);

$(function() {
$("#search").autocomplete({
source: availableTags
});
});

}, 'text');

我想让它读取这个文件.txt的第一列

Airport;aeropuerto
Supermarket;supermercado
Station;estación;It can be a bus station, a train station, etc.
School;escuela
Shop;tienda;It can be a bookshop, a coffeshop, a toyshop, etc.
Chemist's;farmacia

问题是我的脚本读取一个元素并跳过下一个元素,我希望它读取每一行的第一个元素。这个问题出现在三个元素的行之后。有什么解决办法吗??提前致谢。

最佳答案

您的文件在每一行中都有非静态数量的列。使用您的方法,您将文件拆分为每个单元格的单个数组。然后你假设每行有两个单元格,向前跳两个单元格。但该假设是错误的,因为某些行具有三个单元格。

不是按换行符和分号一起拆分,而是先按换行符拆分,然后再按分号拆分。这将为您提供一个字符串数组。

x = x.split("/n").map(function (row) { return row.split(";"); });
availableTags = x.map(function (row) { return row[0]; });

完整示例:

$.get('file.txt', function(file) {

var table = file.split("/n").map(function (row) { return row.split(";"); });
var availableTags = table.map(function (row) { return row[0]; });


console.log(availableTags);

$(function() {
$("#search").autocomplete({
source: availableTags
});
});

}, 'text');

顺便说一句:使用 push 方法将新元素推送到数组。

而不是...

var pos = 0;
var arr = [];

for (var ix = 0; ix < 10; ix += 1) {
arr[pos++] = ix;
}

var arr = [];

for (var ix = 0; ix < 10; ix += 1) {
arr.push(ix);
}

如果您可以控制数据文件,我会确保所有行的列数相同。对于没有任何数据的列,只需在其后直接放置一个分号或换行符即可。

关于javascript - .txt文件的脚本阅读栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com