javascript - 根据对象的键名过滤对象数组
问题描述
我有一个看起来像这样的对象数组:
var data = [
{
abc: { name:"abc" }
},
{
new_abc: {name:"hello" }
},
{
def: { name:"def" }
},
{
ghi: { name:"ghi" }
},
{
new_ghi: { name:"world" }
},
{
new_jkl: { name:"javascript" }
},
{
lmn: { name:"lmn" }
},
];
我只想要具有名称以 "new" 开头的键的对象。在上面的数组中,我有 3 个这样的对象。
我希望输出是这样的:
[
{
new_abc:{name:"hello"}
},
{
new_ghi:{name:"world"}
},
{
new_jkl:{name:"javascript"}
},
]
解决方案
您可以执行以下操作,
var data = [
{
abc:{name:"abc"}
},
{
new_abc:{name:"hello"}
},
{
def:{name:"def"}
},
{
ghi:{name:"ghi"}
},
{
new_ghi:{name:"world"}
},
{
new_jkl:{name:"javascript"}
},
{
lmn:{name:"lmn"}
}
]
res = data.filter(item => Object.keys(item).some(key => key.indexOf('new') === 0));
console.log(res);
推荐阅读
- r - 如何根据 R 中 ggplot2 表示的其他因素的水平(嵌套排序)对因素的水平进行排序
- pytorch - 相对于输入图像、特征图或其他内容,torchvision 的 AnchorGenerator 中的锚框大小是多少?
- google-apps-script - 用于在 Google 表格中将数据高效写入自定义绑定表单的 GAS 方法
- swift - 警告:尝试 -exportLocalizations 时未找到“(区域设置)”的屏幕截图
- nestjs - 具有相同路径的多条路线 - 使用下一条路线(例如功能切换、a/b 测试)
- c# - 在 asp.net mvc 模型中更新用户配置文件无效
- c# - 获取多选数据 Word VSTO
- r - 如何根据R中另一列的日期(月/日/年)计算列的年/月平均值、最大值、最小值等
- django - JSONFIELD 字段中的 DRF Sum 值
- node.js - dns 查找的 Sinon 存根无法进行查找回调