仅使用部分密钥字符串使用 Lodash 获取密钥

WJM*_*WJM 2 javascript json lodash

_.filter如果您只知道某个键包含某个字符串,是否可以使用 LoDash返回值?假设您有以下数据:

Mydata{
"banana" : "1"
}
Run Code Online (Sandbox Code Playgroud)

我想返回包含“ana”的值?我在 LoDash 上发现的一切主要是关于搜索元素值而不是键。

Ori*_*ori 5

如果你想获得一个值的数组,其中的键符合一个标准,Lodash 也_.filter()可以处理对象。传递给回调的第二个参数是关键。

var data = {
  "banana": 1,
  'lorem': 2,
  '123ana': 3
}

var result = _.filter(data, function(v, k) {
  return _.includes(k, 'ana');
});

console.log(result);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

如果你想要一个对象,它的属性符合某个标准,你可以_.pickBy()以类似的方式使用。

var data = {
  "banana": 1,
  'lorem': 2,
  '123ana': 3
}

var result = _.pickBy(data, function(v, k) {
  return _.includes(k, 'ana');
});

console.log(result);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)