javascript - Javascript - 平面图的解决方法
问题描述
所以我一直在寻找一些平面地图的解决方法,因为它在 IE 上不起作用,我找到了这个:但我真的不明白为什么它会起作用
var gadjets = [
{computers:['asus', 'hp'],
sellphones:['Galaxy', 'Nokia']
},
{computers:['dell', 'insys'],
sellphones:['iphone', 'samsung']
}
];
const getValues = gadjets.reduce((acc, gadjet) => acc.concat(gadjet[computers]), []) // instead of gadjets.flatMap(gadjet=> gadjet[computers])
此代码返回:
['asus','hp','dell','insys']
但它不应该返回:
['asus','hp'],['dell', 'insys']
解决方案
如果您希望输出是数组数组。尝试这个:
var gadjets = [
{ computers: ["asus", "hp"], sellphones: ["Galaxy", "Nokia"] },
{ computers: ["dell", "insys"], sellphones: ["iphone", "samsung"] }
];
const groupBy = key => {
let res = gadjets.reduce((objectsByKeyValue, obj) => {
let arr = [];
arr.push(obj[key]);
return objectsByKeyValue.concat(arr);
}, []);
return res;
};
console.log(groupBy("computers"));
推荐阅读
- python - 在 Python 上打印变量的语法错误
- python - How to define conditional for pandas column of several last row in data frame?
- javascript - Chrome 调试器的“异步堆栈”是什么?
- php - 无法使用 Swift_Mailer 发送电子邮件
- javascript - 切换元素显示的 JavaScript 中的 ON/OFF 事件侦听器
- go - 如何在 Go 中获取 DNS 解析失败(NXDOMAIN)的主机的 CNAME?
- php - 如何防止 laravel 在测试中触发事件?
- java - 在 webapp 中删除文件时,Tomcat 8.5.42 权限被拒绝
- wordpress - 由于图像,http -> https 之后的混合内容。如何在没有插件的情况下在数据库中更改它们?
- sql - Execute all the stored procedures in the database with dummy input parameters