如何找到包含值的对象键's数组
How to find an object key that contains a value within it's array?
我有以下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"
,我如何找到包含此url的urlSets
的key
?
我已经在使用underscore.js
库,并认为我可能会使用_.findKey
和_.contains
。我一直在玩这样的东西:
_.findKey urlSets, (key) ->
return _.contains(key, "url-a.com")
……但运气不好。返回TypeError: undefined is not a function
。
我发现不使用任何特殊的库进行这种循环更容易,尤其是当使用具有如此漂亮循环的coffee脚本时。
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
include检查哪个coffee编译为indexOf
调用。
您已经尝试使用。。。
var obj = {a:1, b:2, c:3};
for (var prop in obj) {
console.log("o." + prop + " = " + obj[prop]);
}
如果有用,请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
相关文章:
- 将数组对象传递到struts2中的操作类
- 如何使用jquery返回php-json数组对象
- 从其名称获取javascript数组对象
- 值未与数组对象绑定
- 如何按数组/对象值的倍数过滤对象数组
- 在表中显示数组对象
- 在数组对象中分组
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 重新排列 JavaScript 数组/对象
- 键上的javascript数组对象过滤器
- handontable:在不更改数据数组/对象的情况下隐藏某些列
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 重建有角度的java脚本数组对象
- 对JSON数组对象进行排序
- 连接与数组对象相关的文本:方式和位置
- 哪些浏览器和版本支持将常见的类数组对象直接传递到fn.apply()
- 如何使用Handlebars循环数组对象和模板
- 是否可以引用JS数组/对象中的另一个元素
- Javascript中的名称索引-数组/对象
- 数组长度不等于数组对象