【发布时间】:2018-10-22 16:48:17
【问题描述】:
我有这个对象:
values = {page: "0", length: "12"}
我想检查密钥是否有page 和length 所以我想出了这个解决方案使用Lodash:
has(values, 'page') && has(values, 'length')
这按预期返回 true,但我想使用更简写的方法并尝试:
has(values, ['page', 'length]') 但这会返回 false。知道为什么吗?
https://lodash.com/docs/4.17.10#has
Lodash 有一个返回 true 的示例:
var object = { 'a': { 'b': 2 } };
_.has(object, 'a');
// => true
_.has(object, 'a.b');
// => true
_.has(object, ['a', 'b']);
// => true
有没有更优雅的方法来检查我的对象中的键,或者我应该保持我的解决方案原来的样子:has(values, 'page') && has(values, 'length')?
【问题讨论】:
-
_.has(object, path)<-你读过path这个词吗?基本上,lodash 将使用该路径遍历对象。 -
另外,
"0"值可能被视为false而不是数字 0。最后,您的长度值也被视为字符串,这可能会导致细微的转换问题还有 -
啊,我明白了,谢谢.. 是的,不幸的是我从后端获取这些值,所以我需要解析字符串值
标签: javascript object key lodash