日期:2014-05-16  浏览次数:20701 次

在线急等此问题, 数组取值问题。
我想请问个问题,,
  var packageinfos = [
{PackageInfoID:'1',PackageInfoName:'ff'},
{PackageInfoID:'2',PackageInfoName:'111'},
{PackageInfoID:'3',PackageInfoName:'鸳鸯'}];我怎么根据 1获得ff,根据2获得111 根据3获得 鸳鸯呢??

  就是根据PackageInfoID 来获得PackageInfoName

------解决方案--------------------
JScript code
var packageinfos = [
{PackageInfoID:'1',PackageInfoName:'ff'},
{PackageInfoID:'2',PackageInfoName:'111'},
{PackageInfoID:'3',PackageInfoName:'鸳鸯'}];


alert(getName(2, packageinfos));

function getName(id, obj) {
    for (x in obj) if (obj[x].PackageInfoID == id) return obj[x].PackageInfoName;
    return false;
}

------解决方案--------------------
好像只能循环判断,根据PackageInfoID所在的索引位置来查找对应的PackageInfoName。。。
------解决方案--------------------
上面的方法假设PackageInfoID值是唯一的,要是可能存在重复id值,就在遍历时把找到的PackageInfoName推入一个数组后返回。