我在从jQuery获取我想要的东西时遇到了一些麻烦。 我有一个返回和数组数组的ajax调用。
我的jQuery看起来像这样...
$.each(search_results, function()
{
$.each(this, function(results)
{
var first_name = '';
var last_name = '';
$.each(this, function(index, value)
{
if(index == 3 )
{
last_name = value;
}
if(index == 5)
{
first_name = value;
var contact_name = first_name + " " + last_name;
var result_item = '<li class="list-group-item">' + contact_name + '</li>';
$(id).append(result_item);
}
});
});
});
这很有效,并且很好,但我正在返回数百条记录。 循环遍历数组中的每个元素以挑选出两到五个元素,这似乎太过分了。
有没有办法做这样的事情......
$.each(search_results, function()
{
$.each(this, function(results)
{
$.each(this, function(result)
{
var first_name = result[5];
var last_name = result[3];
var contact_name = first_name + " " + last_name;
var result_item = '<li class="list-group-item">' + contact_name + '</li>';
$(id).append(result_item);
}
});
});
});
我发现了一个类似的问题here,但答案对我来说似乎很奇怪。必须有办法......
我希望这有助于更多
数组/ JSON结构:
Object { search_results: […] }
search_results : Array [ […], […], […], … ]
[0..99]
0 : Array [ "all", "stuff", "I want", … ]
答案 0 :(得分:1)
根据我对你的问题的理解,你有一个类似于:
的数组 var search_results = [
[
[1.0, 1.1, 1.2, 1.3, 1.4, 1.5],
[2.0, 2.1, 2.2, 2.3, 2.4, 2.5]
]
];
您想要访问元素1.3,1.5,2.3,2.5 ....
以下代码将访问这些元素。
$.each(search_results, function(l1_index, l1_result)
{
$.each(this, function(l2_index, l2_result)
{
if(l2_result.length > 5)
{
var last_name = l2_result[3];
var first_name = l2_result[5];
var contact_name = first_name + " " + last_name;
var result_item = '<li class="list-group-item">' + contact_name + '</li>';
$(id).append(result_item);
}
});
});
P.S:如果你可以发布你的阵列结构,每个人都可以更好地理解你的问题。