好的,我有一些代码以 JavaScript 数组的形式从服务器获取数据。
我一直在研究原型(prototype),发现您可以使用切片选择数组的一部分,但即使在查看示例时,我似乎也无法弄清楚它是如何工作的。
到目前为止,我有一个 module.js 来加载数据并定向到我的索引页面
$.ajaxSetup({
data: {
apptoken: apptoken
}
});
var promise1 = $.get(dbidApplication, {
a: "dbpage",
pagename: "index.html"
});
var promise2 = $.get(dbidTable, {
act: "API_GenResultsTable",
query: "{3.EX." + kRid + "}",
jsa: 1,
options: "num-1",
});
$.when(promise1, promise2).then(function(templateArgs, dataArgs) {
var template = templateArgs[0];
var markup = Mustache.render(template, qdb_data);
document.write(markup);
$("#formContents").html(markup);
});
我的index.html页面除了
之外完全是空白的var stringit = qdb_data.toString();
var stationid = stringit.slice(4);
console.log(stationid);
在控制台上它显示了我的 stringit 并且在 4 中有数据,所以我不确定我到底做错了什么......总之我正在尝试使用数组来填充模板。
这是我之前的查询返回的结果
var qdb_data = new Array();
qdb_data[0] = new Array();
qdb_data[0][0] = "VL14799- FT5850";
qdb_data[0][1] = "05-13-2015";
qdb_data[0][2] = "";
qdb_data[0][3] = "TANK PROPANE";
qdb_data[0][4] = "PLANT";
qdb_data[0][5] = "PROPANE";
qdb_data[0][6] = "TANK 31 PROPANE";
qdb_data[0][7] = "PLANT";
qdb_data[0][8] = "TANK 31 PROPANE";
qdb_data[0][9] = "PROPANE";
qdb_data[0][10] = "PROPANE";
qdb_data[0][11] = "100 PSI";
qdb_data[0][12] = "59 F";
qdb_data[0][13] = "411";
qdb_data[0][14] = "";
qdb_data[0][15] = "";
qdb_data[0][16] = "BR";
最佳答案
在 JavaScript 中,数组和字符串都有切片方法。您真正想要的是数组切片,而您拥有的是字符串切片。 JavaScript 会根据变量是字符串还是数组自动执行切片。因此,为了获取第 4 个索引处的值,请执行以下操作。
var stationid = qdb_data[0].slice(4,5);
关于javascript - Array.prototype.slice,无法获取未定义的 'slice'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715849/