lodash _.findKey 相当于 Javascript 或 jQuery

lodash _.findKey equivalent in Javascript or jQuery

我在游戏中有一系列作品,一开始我将它们的商店 DIV 和样式一起存储在一个对象中,相应的密钥是一个加密数字。在游戏结束时,我检查被点击的棋子,看看它当前的 z-index 是否与存储在对象中的原始样式相匹配。 目前我使用的是 lodash,它运行良好,但我想删除 lodash,以免加载这个额外的库。我的问题是,我根本无法将这三行代码翻译成纯 Javascript(或 jQuery)——我是个初学者,现在已经花了几个小时试图解决这个问题。任何意见,将不胜感激。 这是我的“lodash”代码:

var myVar = _.findKey(myObject, function (storedDIV) {
    return storedDIV.css('z-index') == clickedDIV.css('z-index');
});

您可以使用 Object.keysArray.find() 创建与 _.findKey() 类似的函数。该函数接受一个谓词,或者您可以使用默认的身份谓词 (o => o),但它不支持其他 lodash _.findKey() 简写。

const findKey = (obj, predicate = o => o) => Object.keys(obj)
    .find(key => predicate(obj[key], key, obj))

// example 1 - passing a predicate
const users = {'barney':  { 'age': 36, 'active': true },'fred':    { 'age': 40, 'active': false },'pebbles': { 'age': 1,  'active': true }}
console.log(findKey(users, o => o.age < 40)) // barney

// example 2 - using default identity predicate
const flags = { a: false, b: true, c: false }
console.log(findKey(flags)) // b