我正在使用 lodash 对下面的数组执行以下任务:
let map = {
"John": ["math", "physics", "chem"],
"Lisa": ["bio", "chem", "history"],
"Emily": ["math", "history", "javascript"];
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如何使用 lodash 返回其数组中具有“javascript”值的键Emily?
我正在使用
_.keys(_.pickBy(map, e => {
return (e == 'javascript');
}))
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用
您可以使用findKey和includes方法来查找密钥。
let map = {
"John": ["math", "physics", "chem"],
"Lisa": ["bio", "chem", "history"],
"Emily": ["math", "history", "javascript"]
}
const result = _.findKey(map, e => _.includes(e, 'javascript'))
console.log(result)Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.js"></script>Run Code Online (Sandbox Code Playgroud)
要匹配 value 包含元素的多个键,您可以使用pickBy方法来过滤属性,然后获取键。
let map = {
"John": ["math", "physics", "chem"],
"Lisa": ["bio", "chem", "history", "javascript"],
"Emily": ["math", "history", "javascript"]
}
const result = _.keys(_.pickBy(map, e => _.includes(e, "javascript")))
console.log(result)Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2677 次 |
| 最近记录: |