javascript - 循环遍历对象并将其推入新数组 JavaScript
问题描述
我想问一下这个算法的 JavaScript 代码,假设我有一个汽车对象:
var cars = {
'civic' : {
'color' : 'blue',
'year' : '2020'
},
'supra' : {
'color' : 'red',
'year' : '2019'
},
'impala' : {
'color' : 'black',
'year' : '1967'
},
'fake_civic' : {
'color' : 'blue',
'year' : '2020'
},
'fake_supra' : {
'color' : 'red',
'year' : '2019'
},
'fake_impala' : {
'color' : 'black',
'year' : '1967'
},
}
我想将假的提取到一个对象数组中,所以它看起来像这样
fakeCars = [
{'fake_civic' : {
'color' : 'blue',
'year' : '2020'
}
},
{'fake_supra' : {
'color' : 'red',
'year' : '2019'
}
},
{'fake_impala' : {
'color' : 'black',
'year' : '1967'
}
},
];
我试过这个
fakeCars = Object.entries(cars).map((e) => ( { [e[0]]: e[1] } ));
但它返回整个汽车对象的数组,我不知道如何搜索假的,我该如何解决这个问题?谢谢你。
解决方案
我将.filter()
为此目的使用:
var cars = { 'civic' : { 'color' : 'blue', 'year' : '2020' }, 'supra' : { 'color' : 'red', 'year' : '2019' }, 'impala' : { 'color' : 'black', 'year' : '1967' }, 'fake_civic' : { 'color' : 'blue', 'year' : '2020' }, 'fake_supra' : { 'color' : 'red', 'year' : '2019' }, 'fake_impala' : { 'color' : 'black', 'year' : '1967' }, }
const result = Object.entries(cars)
.filter(e => e[0].includes('fake'));
console.log(result);
推荐阅读
- json - 将 XML 转换为 Json Angular
- mysql - 如果不存在冲突,如何使用 mysql 仅返回记录?
- reactjs - 在帐户集合 Firebase 中注册时设置用户 ID
- javascript - 从多个下拉菜单中过滤选择
- python - 如何在 Python 的一张图中绘制速度剖面和边界厚度剖面?
- java - 有没有办法在不重复整数的情况下将 int[] 复制到另一个 int[] ?
- ruby - Ruby 的 Dir.glob 不遵循符号链接
- c# - 无法从 OverlapCircleAll 返回的 Collider2D 列表中检索游戏对象名称
- javascript - 我如何应用回调来获取方法中的 http 响应
- django - 如何在 Windows 上使用 nssm 为 django 应用程序创建服务