javascript - 如何从对象数组中按数组选择元素
问题描述
我有一个对象数组,我想删除一些这样的元素。
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 来做到这一点?单线会更好
解决方案
您可以将 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>
推荐阅读
- extjs - 如何使用 Ext.js 4.2 在渲染器 html 中调用函数
- reactjs - 在 IntelliJ IDEA 中使用特定配置运行或调试测试
- asp.net - 无法使用 IIS 访问站点 - 在应用程序池中选择 .NET Framework 4 时出错
- docusignapi - 对授权码授予感到困惑
- dialogflow-es - 如何使用@sys.date 在对话流中显示过去的日期?
- android - 缺少 Google Play Protect 翻译文件
- mapbox - 在 MapBox 中挤压土地
- powershell-4.0 - 在powershell中更改字符串中的字符顺序
- python-3.x - 如何通过电报机器人中的名字来称呼用户?
- go - 使用 Go 转储 Arangodb 数据库