javascript - 试图从对象数组中删除键
问题描述
我有一个带有一组对象的 Javascript 数组,我正在尝试删除该数组中每个对象的键(即 0 和 1),但是我正在努力寻找一个 Javascript 函数诡计。
[{
'0': {
id: '630640',
stuff: 'name1',
anotherProp: 'prop1'
},
'1': {
id: '630640',
stuff: 'name2',
anotherProp: 'prop2'
},
id: '630640'
},
{
'0': {
id: '694969',
stuff: 'name3',
anotherProp: 'prop3'
},
id: '694969'
},
undefined
]
我尝试了以下方法,但它没有删除密钥。
var keys = Object.keys(input),
output = [];
for (var i = 0, length = keys.length; i < length; ++i)
output.push(input[keys[i]]);
console.log(output);
解决方案
您可以先从数组中过滤掉所有非空值,然后用于Object.values
获取每个对象的值
let input = [{
'0': {
id: '630640',
stuff: 'name1',
anotherProp: 'prop1'
},
'1': {
id: '630640',
stuff: 'name2',
anotherProp: 'prop2'
},
id: '630640'
},
{
'0': {
id: '694969',
stuff: 'name3',
anotherProp: 'prop3'
},
id: '694969'
},
undefined
];
let output = input.filter(nonNull => nonNull).map(obj => Object.values(obj));
console.log(output)
推荐阅读
- swift - 如何在“UIKit for Mac”平台上使用 SwiftUI 打开文件对话框?
- php - 无法将 CSV 文件导入 SQL(使用 PDO)
- python - 如何使用 vgg-19 预测单张图像?
- python - Get the corresponding sums of parts of a list
- angular - 角度 json web 令牌 x-auth-token 未使用 intreceptor 正确保存
- javascript - CSS 应该包含在 NPM 组件库中还是手动加载?
- node.js - 在两个 NodeJS 进程之间发送消息的最简单和最快的方法是什么?
- php - 表单回显不适用于列表中的第一项
- rest - 包含 POST 和 PUT/PATCH 的 REST API 调用计算服务器生成结果文件
- hibernate - Spring boot:'spring.datasource.data'定义的资源[/src/main/resources/datadump.sql]不存在