我需要在JSON集中搜索数组的2个元素。如果找到这两个元素的匹配项,则需要该位置的索引。一旦有了该索引,就可以使用它在同一数组位置访问另一个属性。

以下是我所拥有的示例。如果您看一下第22行,那么我会将数组位置硬编码为1。根据我传递给getModelID()函数的内容,这是我动态需要的值。

http://codepen.io/bdang/pen/pJvmox/?editors=101

function getModelID(extClr, intClr) {

    var colorLockDatesAr = lockDates.Models[0].Colors,
        colorLockDatesCount = colorLockDatesAr.length;

    for(var i = 0; i < colorLockDatesCount; i++) {

        if(colorLockDatesAr[i].ExtColorCd == extClr && colorLockDatesAr[i].IntColorCd == intClr) {

            $('#modelID').html(colorLockDatesAr[1].ModelID);

        }
    }
}

getModelID('BK', 'BK'); // should return Model 1
getModelID('BK', 'WH'); // should return Model 2
getModelID('WH', 'BK'); // should return Model 3


我浏览了各种论坛,发现许多问题都是相关问题,但并不是我所需要的。任何帮助,将不胜感激。

最佳答案

只要通过i

$('#modelID').html(colorLockDatesAr[i].ModelID);


http://codepen.io/miguelmota/pen/xGbNVG

10-06 15:56