我用listjs(listjs.com)制作了一个列表
现在我正在使用函数get(),这将给我这个回报:
itemsInList = [
{ id: 1, name: "Jonny" }
, { id: 2, name "Gustaf" }
];
listObj.get("id", 2); -> return { id: 2, name: "Gustaf" }
现在我想用纯javascript获取名称id。
function getUserName(uid) {
var itemValues = hackerList.get("id", uid)[0];
console.log("The name of the user is: " + itemValues.name);
// or use alert..
//alert("The name of the user is: " + itemValues.name);
}
抱歉不具体......我想从返回值:
{uid:2,名称:“Marc”......}
到 itemValues.name - >马克
UDATE
忘记使用uid功能(“id”)。当我使用values()时它会起作用。谢谢你的回答。
更新了小提琴 Fiddle
答案 0 :(得分:2)
您可以使用数组过滤器方法(IE9 +):
// Pure javascript list
var hackerList = [
{ uid: 1, name: 'John' },
{ uid: 2, name: 'Marc' }
];
function getUserName(uid) {
var hackers = hackerList.filter(function(hacker) {
return hacker.uid === uid;
});
if(hackers.length > 0) {
console.log("The name of the user is: " + hackers[0].name);
}
}
答案 1 :(得分:2)
你的id字段叫做uid,要获得对象的值,你需要在结果上调用.values,所以:
function getUserName(uid) {
var itemValues = hackerList.get("uid", uid)[0].values();
console.log("The name of the user is: " + itemValues.name);
}