我有一个列表,我正在推入一个数组dataList。现在我需要弹出内容的另一个功能我将如何去做。这是我正在尝试的代码。
var dataList = new Array;
function addTheContents(){
// .... I'm doing some ajax call and getting one list,
success : function(map) {
console.log(map);
dataList.push(map);
},
error : function() {
alert("error occured!!!");
},
}
function getListData(){
dataList.pop()..... how will i get the contents from the datalist after pushing??
}
答案 0 :(得分:3)
dataList
是一个数组。您可以通过迭代数组的索引来读取数组中的项目,如下所示:
for (var i = 0; i < dataList.length; i++) {
// do something with dataList[i]
}
您只能读取数组中的最后一项:
var item = dataList[dataList.length - 1];
// do something with item here
或者,如果您只想从阵列中删除并检索最后一个,则可以执行以下操作:
var item = dataList.pop();
// do something with item here
此处.pop()
的MDN文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop。它基本上与.push()
相反。
您可以在阵列上执行大量其他操作,它们都列在此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
在您执行ajax调用的特定代码示例中,您还需要了解大多数ajax调用是异步的。这意味着他们将来会完成一些时间。因此,您不能只调用ajax调用,然后立即检查dataList
。相反,您需要在成功处理程序中放置需要引用dataList
的任何代码以进行ajax调用,或者您需要从成功处理程序中调用该代码,然后将dataList
传递给它。这就是异步编程在javascript中的工作原理。
答案 1 :(得分:0)
如果您要打印datalist
中的所有元素,可以使用此代码。
$.each(dataList, function(index, val) {
console.log(val.category);
});
在此代码中,您将获得index
作为关键字,val
作为该位置的值。
但pop()
用于从数组中删除最后一个元素,如。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();
输出: - Banana,Orange,Apple