You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改JS函数使其返回对象中模糊匹配的key而非对应值

你当前的函数匹配成功后返回的是objectToSearch[k],也就是匹配键对应的取值,只需要将返回内容替换为循环变量k即可得到匹配到的键本身。

修改后的代码如下:

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

matchKey({year : 2015, "Price/STK" : "value"}, "price"); // 输出结果为 "Price/STK"

如果需要返回所有符合匹配规则的键,而非第一个匹配到的结果,可以使用数组收集匹配结果:

function matchAllKeys(objectToSearch, keyToFind) {
    const matchedKeys = [];
    const targetKey = keyToFind.toLowerCase();
    for (var k in objectToSearch) {
        if (k.toLowerCase().indexOf(targetKey) !== -1) {
            matchedKeys.push(k);
        }
    }
    return matchedKeys.length ? matchedKeys : null;
}

内容的提问来源于stack exchange,提问作者user16756868

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:36:05