查找已过滤数组的索引

时间:2016-11-03 09:43:15

标签: javascript arrays

我有一个JSON对象,如下所示:

var JSON = {
    "implants":[{
        "familyId": "3",
        "reference": "1234",
        "quantity": "3"
    },{
        "familyId": "2",
        "reference": "3456",
        "quantity": "1"
    }]
}

我正在构建一个功能,用于搜索具有给定"参考"已经在数组中。如果不是,它就会被添加到数组中。简单。如果在数组中,那么我想将新数量添加到现有数量,然后更新数组。

function returnTheseImplantsWhere(key1,key2){
    return function(el){
        if(el[key1]==key2) {
            return el;
        }
    } 
}

var activeCaseImplants = JSON.parse(getLocal("activeCaseImplants"));
var existingImplant = activeCaseImplants.implants.filter(returnTheseImplantsWhere("reference", window.currentImplantRef));
if(existingImplant.length) {
    //previously added implant
    newImplantQty = Number(existingImplant[0].quantity) + Number($("#qty").val());
    existingImplant.quantity = newImplantQty;
} else {
    //new implant
}

我的问题涉及以前添加的植入物"以上代码的部分(全部按预期工作)。我现在有更新的数量,但我可以确定activeCaseImplants.implants数组中的哪个对象需要更新数量?我觉得我可以在indexOf开头的某个地方使用var existingImplant = ...,但我不知道在哪里或如何。有什么想法吗?

0 个答案:

没有答案