我有以下 Javascript (Coffeescript) 对象:
urlSets =
a: [
'url-a.com'
'url-b.com'
'url-c.com'
]
b: [
'url-d.com'
'url-e.com'
'url-f.com'
]
c: [
'url-g.com'
]
假设我有值“url-a.com”
,我如何找到包含此网址的urlSets
的key
?
我已经在使用 underscore.js
库,并且认为我可能会使用 _.findKey
和 _.contains
。我一直在玩弄这样的东西:
_.findKey urlSets, (key) ->
return _.contains(key, "url-a.com")
...但没有运气。它返回类型错误:未定义不是函数
。
最佳答案
我发现不使用任何特殊的库来进行这种循环会更容易,特别是在使用具有如此好的循环的 CoffeeScript 时。
foundKey = null
for key, urls of urlSets
if 'url-a.com' in urls
foundKey = key
console.log foundKey #=> a
它使用 for key, value of object
循环轻松循环 urlSets
对象,然后包含 if item in array
检查哪个咖啡编译为 indexOf
调用。
关于javascript - 如何找到数组中包含值的对象键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29221938/