我在游戲中有一系列片段,一開始我將它們的存盤 DIV 與樣式一起存盤在一個物件中,相應的密鑰是一個加密數字。在游戲結束時,我檢查被點擊的部分,看看它當前的 z-index 是否與存盤在物件中的原始樣式相匹配。目前我正在使用 lodash,它運行良好,但我想洗掉 lodash,以免加載這個額外的庫。我的問題是,我根本無法將這三行代碼翻譯成純 Javascript(或 jQuery)——我是個初學者,現在已經花了幾個小時試圖解決這個問題。任何意見,將不勝感激。這是我的“lodash”代碼:
var myVar = _.findKey(myObject, function (storedDIV) {
return storedDIV.css('z-index') == clickedDIV.css('z-index');
});
uj5u.com熱心網友回復:
您可以創建與_.findKey()使用Object.keys和類似的功能Array.find()。該函式接受一個謂詞,或者您可以使用默認的身份謂詞 ( 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/411932.html
標籤:
