Mat*_*t K 7 javascript arrays ajax jquery object
我在Ajax调用返回的结果对象中有一个数据Array.数据如下所示:
{ Name="User1 Name1", FirstName="User1", Id="005400000001234567", more...}
{ Name="User2 Name1", FirstName="User2", Id="005400000001234568", more...}
Run Code Online (Sandbox Code Playgroud)
每个项目看起来像这样:
{
Id:"005400000001234567",
Name:"User Name",
FirstName:"User",
LastName:"Name",
Title:"Manager"
}
Run Code Online (Sandbox Code Playgroud)
我希望能够通过Id(返回单个用户)或Title(返回用户数组)来检索数据.使用JavaScript 或 jQuery 进行此操作的最佳方法是什么?
这是我到目前为止所做的尝试:
function GetAllUsers()
{
AllUsersById = new Object();
MyClass.MyAjaxMethod(function(result,event) {
if(result) {
j$(result).each(function(index,item)
{
AllUsersById[item.Id] = item;
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
我上面的代码很适合用Id编制索引,但我不知道该怎么做Title.
顺便说一下,大约有1000条记录,我需要这个记录才能相当高效.(这是我在文档准备就绪时立即获取数据的原因之一.但我不是JavaScript或jQuery效率方面的专家.如果你有更好的方法,请告诉我.)
有任何想法吗?提前致谢!
好像你在寻找.grep().使用.grep你可以创建一个可以过滤的泛型函数:
function findInJson (json, key, value) {
return $.grep(json, function (obj) {
return obj[key] == value;
});
}
// With your data getting a specific user by id
findInJson(yourJSON, "Id", "005400000001234567");
// Getting a set of users by title
findInJson(yourJSON, "Title", "Manager");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2371 次 |
| 最近记录: |