我们有一个网站,推荐网站域名。
获取域、站点名称,然后使用它们创建对象。
例如:
如果网站名为"google,yahoo“,域名是"com,net,org”作为输入。
产出应是:
google: {com: "google.com", net: "google.net", org: "google.org"}
yahoo: {com: "yahoo.com", net: "yahoo.net", org: "yahoo.org"}这真的让我很困惑。如何使用新方法使用给定的输入创建上述对象?
任何解决办法都是我的荣幸
发布于 2022-04-20 10:57:12
你可以做这样的事
const sites = "google,yahoo".split(',')
const domains = "com,net,org".split(',')
const output = sites.reduce((res, site) => {
return {
...res,
[site]: domains.reduce((res, domain) => {
return {
...res,
[domain]: site + '.' + domain
}
}, {})
}
}, {})
console.log(output)
发布于 2022-04-20 10:57:09
const sites = "google,yahoo"; const domains = "com,net,org";
const sitesArray = sites.split(',');
const domainsArray = domains.split(',');
let res = {};
sitesArray .forEach(siteKey => {
res[siteKey] = {};
domainsArray.forEach(domain => {
res[siteKey][domain]= siteKey + "." + domain;
})
})
// test
console.log(res);发布于 2022-04-20 23:33:37
更短的时间,您可以使用一个array.map。
function RecommendDomain(address) {
let domain = ["com", "org", "net", "me"];
let keyValue = domain.map((value) => {
return [value, address + "." + value];
});
return Object.fromEntries(keyValue)
}
let a = RecommendDomain("google");
let b = RecommendDomain("yahoo");
console.log(a);
console.log(b);
https://stackoverflow.com/questions/71938348
复制相似问题