javascript - JavaScript:按键选择旧数组并重命名新数组中的键
问题描述
我有一个对象数组,我想从 key 的值中“挑选”一个新数组viewerId
。我还想将viewerId
密钥的名称更改为userId
. 这是我对 lodash 所做的:
const viewerList = [{
"id": 1,
"viewerId": 5,
"status": true
},
{
"id": 2,
"viewerId": 8,
"status": true
},
{
"id": 3,
"viewerId": 6,
"status": true
},
{
"id": 4,
"viewerId": 9,
"status": true
}
]
var result = []
_.each(viewerList, (o) => {
result.push(_.pick(o, 'viewerId'))
})
result = result.map(function(item) {
return {
userId: item.viewerId
}
});
console.log(result)
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
我分两步执行此操作。这可以优化吗?
解决方案
您可以在单个语句中执行以下操作:
const viewerList = [{
"id": 1,
"viewerId": 5,
"status": true
},
{
"id": 2,
"viewerId": 8,
"status": true
},
{
"id": 3,
"viewerId": 6,
"status": true
},
{
"id": 4,
"viewerId": 9,
"status": true
}
]
// The same logic in a single statement
var result = viewerList.map(function(item) {
return { userId : item.viewerId}
})
console.log(result)
这适用于所有浏览器 ie9 及更高版本。有关.map()
正在使用的功能的更多信息,请参阅此
推荐阅读
- javascript - 将内部标签转移到父标签
- javascript - 基于出现次数的数组排序
- python - 在 ubuntu 和 linux 上使用 pyinstaller 创建可执行文件时出现图标(快捷方式)问题
- php - PHP 致命错误:未捕获错误:调用未定义函数 get_magic_quotes_gpc()
- c# - 在 MVVM 中创建静态视图模型是正确的方法吗?
- css - 防止旋转木马内的组件调整大小
- react-native - base64 的图像文件路径在 iOS 上不起作用(React-Native)
- postgresql - 锁定表或行以检查条件并插入行
- php - 按信息订购尚未批准或拒绝
- python - 如何使用 python3 将 wiki-link 图像转换为普通的 md-link 图像?