首页 > 解决方案 > 如何从对象数组中按数组选择元素

问题描述

我有一个对象数组,我想删除一些这样的元素。

var data = [{a:1, b:2, c:3, d:4}, {a:11, b:22, c:33, d:44}]
var saveByKeys = ['a', 'c']

我想要的结果是:

var reuslt = [{a:1, c:3}, {a:11, c:33}]

如何使用 lodash 来做到这一点?单线会更好

标签: javascriptfunctional-programminglodash

解决方案


您可以将 lodash's_.pick()Array.map()(或 lodash's _.map())一起使用:

const data = [{a:1, b:2, c:3, d:4}, {a:11, b:22, c:33, d:44}]
const saveByKeys = ['a', 'c']

const result = data.map(o => _.pick(o, saveByKeys))

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>


推荐阅读