javascript - 如何循环遍历 JavaScript 对象中类似的键值对(a0,a1,a2)并生成一个没有键(a)中数字的新数组?
问题描述
我有什么
1.keys:相似的键名(例如 a0,a1,a2)
2.obj:一个对象中有很多相似的键值对
3.number:在 obj1 中循环的相似键值对的次数
4 .arr:键中没有数字的数组(只保留“a”,没有“a0”,“a1”,“a2”)
ps "aa","bb","cc" 是示例,值可以是任何值
let keys = ["javascript","java","python","php"];
let number = 3;
let obj = {
javascript0:"a",java0:"b",python0:"c",php0:"d",
javascript1:"aa",java1:"bb",python1:"cc",php1:"dd",
javascript2:"aaa",java2:"bbb",python2:"ccc",php2:"ddd",
}
我想要的是
let arr = [
{javascript:"a",java:"b",python:"c",php:"d"},
{javascript:"aa",java:"bb",python:"cc",php:"dd"},
{javascript:"aaa",java:"bbb",python:"ccc",php:"ddd"}
]
我怎样才能得到数组?
解决方案
let keys = ["javascript", "java", "python", "php"];
let obj = {
javascript0: "a0",
java0: "b0",
python0: "c0",
php0: "d0",
javascript1: "a1",
java1: "b1",
python1: "c1",
php1: "d1",
javascript2: "a2",
java2: "b2",
python2: "c2",
php2: "d2",
};
let result = [];
let number = 3;
for (i = 0; i < number; i++) {
let _r = {};
keys.forEach((item) => {
if (obj.hasOwnProperty(`${item}${i}`)) {
_r[item] = obj[`${item}${i}`];
}
});
result.push(_r);
}
console.log(result);
推荐阅读
- javascript - SharePoint Online - 在搜索结果中显示与文档的信息共享
- ios - 多组件 UIPickerView 上的默认行
- java - 如何比较选定 ImageView 对象中的图像?
- powershell - 在 Export-Mailbox as .PST 之前首先检查导出文件名的 PowerShell 代码不起作用
- python - Google BigQuery 从 Python 脚本执行 SQL 文件
- amazon-web-services - 将索引从 AWS ElasticSearch 复制到 S3 存储桶时文件夹名称已更改
- go - go 处理协程变量初始化
- python - 按 5 年分组
- javascript - VS Code 中的绿色调试器指针是什么意思?
- drop-down-menu - Selectize.js 多选列表选项下拉列表在单击下拉列表的滚动条时关闭