Array.prototype.slice,不能得到' slice'未定义?

时间:2015-06-08 17:50:53

标签: javascript jquery arrays

好的,所以我有一些代码以javascript数组的形式从服务器中提取数据。

我一直在寻找原型并看到你可以使用切片选择阵列的一部分,但我似乎无法找到它的工作方式,即使在查看exampled时也是如此。

到目前为止,我有一个模块加载数据并指向我的索引页面

$.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";

1 个答案:

答案 0 :(得分:1)

在JavaScript中,数组和字符串都有slice方法。你真正想要的是数组切片,你所拥有的是字符串切片。 JavaScript将根据变量是自动生成字符串还是数组来执行切片。因此,为了获得第4个索引处的值,请执行以下操作。

var stationid = qdb_data[0].slice(4,5);