js 二维数组查找 - 根据属性值查找对应的另一个属性值

在我们使用js的时候是否会常常碰到这种问题:

我们想查找一个二维数组中id==1的name的值,js好像没有提供相应的函数,这个时候只能自己写一个工具函数了,下面是方法

var data = [
    {id: 1,name: "张三", sex: "男"},
    {id: 2,name: "李四", sex: "男"},
    {id: 3,name: "王五", sex: "男"},
    {id: 4,name: "马六", sex: "女"},
    {id: 5,name: "陈七", sex: "男"}
];

//我想查找id==1的人的name是什么
var name = arrayLookup(data,'id',1,'name');

function arrayLookup(data,key,value,targetKey){
    var targetValue = "";
    for (var i = 0; i < data.length; i++) {
        if(data[i][key]==value){
            targetValue = data[i][targetKey];
            break;
        }
    }
    return targetValue;
}

 

你可能感兴趣的:(js算法)