如果对象的键包含单词

Eus*_*ace 1 javascript arrays javascript-objects

我有一个像这样的对象:

{"status":200, 
"success":true, 
"result": [ {"Description":"", "Year":"", "Price/STK":"", "Main Cat":"Fruits"} ]
}
Run Code Online (Sandbox Code Playgroud)

我有需要使用的不同列表,价格键可以是:价格/ STK,价格/盒子,价格/ Btl或价格.

我知道我可以使用,例如,data.result ['Price/STK'],但我不想检查每个键,我想搜索价格,只是使用.

我如何确定一个单词(例如'Price*')是否是键的一部分并获得该值?

ade*_*neo 6

没有内置的方法来执行此操作,您必须迭代并检查每个键.

你可以创建一个方便的功能:

function matchKey(objectToSearch, keyToFind) {
    for (var k in objectToSearch) {
        if ( k.toLowerCase().indexOf(keyToFind.toLowerCase()) !== -1) 
            return objectToSearch[k];
    }
    return null;
}

matchKey({year : 2015, "Price/STK" : "value"}, "price"); // returns "value"
Run Code Online (Sandbox Code Playgroud)

小提琴