从list.js中获取{id:3,name:“John”}的值

时间:2013-12-21 22:05:25

标签: javascript html5 object listjs

我用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

2 个答案:

答案 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);
}