我又来请教一个方法了。 掩面哭泣
const list = {
email: {
a: {
big: {
rule: ['abig'],
isShow: true,
extends: []
},
small: {
rule: ['asmall'],
isShow: false,
extends: []
}
},
b: {
big: {
rule: ['bbig'],
isShow: true,
extends: []
},
small: {
rule: ['bsmall'],
isShow: false,
extends: []
}
},
},
qq: {
a: {
big: {
rule: ['abigqq'],
isShow: true,
extends: []
},
small: {
rule: ['asmallqq'],
isShow: false,
extends: []
}
},
b: {
big: {
rule: ['bbigqq'],
isShow: true,
extends: []
},
small: {
rule: ['bsmallqq'],
isShow: false,
extends: []
}
},
},
}
比如说 我传入了 a big 那么就取 qq 和 email 下 a => big 里面的转化成下面格式的 对象
const data = {
rule: {
email: ['abigemail'],
qq: ['abigqq']
},
ishow: {
email: true,
qq: false
},
extends: {
email: [],
qq: []
}
}
让后端按要求返回数据
别搞 IT 了吧,找个厂打螺丝吧
function getCustomData(a, b) {
let data = {}
for (let item in list) {
for (let key in listitem[b]) {
data[key] = {
...data[key],
}
}
}
return data
}
console.log(getCustomData('a', 'big'))
用 proxy 最方便。
絮我直言,为什么一个 map/dict 的变量是 list
看以往发帖记录,应该木材厂😂
假设你用的是 js ,导入 lodash 后
{
rule: {
email: _.get(list,'email.a.big.rule'),
qq: _.get(list,'qq.a.big.rule')
},
isShow: {
email: _.get(list,'email.a.big.isShow'),
qq: _.get(list,'qq.a.big.isShow')
},
extends: {
email: _.get(list,'email.a.big.extends'),
qq: _.get(list,'qq.a.big.extends')
}
}
找个场,剪视频吧
哈哈哈哈😂你的工资是由 V 友支撑起来的吗?
const convert = (data) => {
const result = {};
const keysLevel1 = Object.keys(data);
keysLevel1.forEach(k1 => {
console.log(k1, 'k1');
const keysLevel2 = Object.keys(data[k1]);
keysLevel2.forEach(k2 => {
console.log(k2, 'k2');
const keysLevel3 = Object.keys(datak1);
if (!result[k2]) result[k2] = {};
keysLevel3.forEach(k3 => {
console.log(k3, 'k3');
const keysLevel4 = Object.keys(datak1[k3]);
if (!resultk2) resultk2 = {};
keysLevel4.forEach(k4 => {
if (!resultk2[k4]) resultk2[k4] = {};
resultk2k4 = datak1k3;
})
})
})
});
return result;
};
木材厂是哪个?
找个厂上班吧。。。
v2 的回复也变得低龄化了吗?
别人学习的问题,好好回复不就行了,不懂可以不回,嘲笑别人可以满足你的优越感?
《请尽量让自己的回复能够对别人有帮助》
#14
《提问的智慧》
github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md
你要求每一个人提问前先掌握这些东西? op 已经 show code ,问题也很简单,难道还不够是吗,你的意思是问题没提好应该进厂吗
说实在的,让后端重新给你处理一下,比你在这里琢磨更快。
后端返回这种格式的数据是很简单的。
#16
我什么也没说啊……你是不是认错了,我只是贴出一个《提问的智慧》,你觉得楼主做得符合这个指南,那就没事呗
楼主这不像是问问题,这都是最基本的操作,不好说有什么问的必要。
像是什么呢?代为完成个人任务。
这可不受欢迎。
😅 你回复我,让我以为 op 没有做到「提问的智慧」,所以就可以被嘲笑进厂呢
呵呵,这也不至于嘲笑进厂这种地步吧
首先这问题也太简单了,就是一个 js 对象里面的元素查看的问题。以后如果大家都把最简单的问题拿来问,比如 hello,world 级的问题拿来问,这不是好事。我认为但凡把书好好看看,把学习视频学习下,不至于这么问。
其次上面的那个 “v2 的回复也变得低龄化了吗?
别人学习的问题,好好回复不就行了,不懂可以不回,嘲笑别人可以满足你的优越感?
《请尽量让自己的回复能够对别人有帮助》” 的指责,没看出他的“回复”对楼主有帮助,也没看出他的“回复”对非楼主有帮助 ,所以,这是一个“自己做不到的人指责别人做不到”?
你的回复...对他有什么帮助???
???
虽然这个题确实傻
但 v 站一直以来又嘲笑新人的“传统”,这很不好
我当年也问过很多傻问题,这一路走来,也确实不易
谁都不是娘胎出来就带着一个 CS 学位的,还请某些人手下留情,积点口德比较好
嘲笑是不对,
但随便问问题就是对的?
你也知道这问题“傻”,
楼主自己也知道这问题“傻”,(看楼主的标题)
为什么还要问这样的问题?
浪费大家时间?
像楼主这样的明知道不是正确的做法还来做的,为什么不能嘲笑?真的想好好解决问题,要么好好自学,要么花点成本现实在用”钞能力“来解决(找个老师或者培训班或者专人指导),现在搁这是打算自己不努力来白嫖?
笑了。这么多人说楼主傻的,结果只有八楼能给一个合适的答案,其他的写法都很累赘
首先我感觉这个应该由后端来处理。
其次如果你处理的话,这能 each 遍历或者 filter 过滤。 没有什么好办法。
最好还是由后端来处理。
问题感觉没有描述很清楚,传入 a big 是啥意思呢,可以更详细一点描述,方便解决问题
发表一些感触,看到楼主问题也想到曾经自己也啥都不懂,学电子专业出身,代码也是照着书一点点学,一点点验,知道一开始的不容易。现在工作了几年后看到 V2 上还是氛围那么好,程序员是一个很单纯的群体,没有弯弯绕绕,大部分争执也在于论技术,挺温暖的一个群体
活捉嘤嘤怪
我的帮助体现在改善环境,别动不动就开始嘲笑。那你的回复对我有什么帮助呢?
最后说一句,楼主这个帖子对我挺有帮助的,让我 b 了这些人。避免我以后发帖得到的回复都是嘲笑劝退的消极评论😅
???
你除了放了个地图炮你改善什么了?
???突然疑惑
你想改善环境难道不应该从自己认真回答贴主所询问的问题开始吗?
???
网上很多这样的网民,自己站在道德高点,抨击别人,满足自己的”道德欲望“。。。
如果真的让他像雷锋一样无私奉献,他会干么?
#2 有点儿复杂,不过还是写出来了。
var getAttr = function (obj, paths) {
let value = obj;
for (let i = 0; i < paths.length; i++) {
value = value[paths[i]];
}
return value;
};
var rebuild = function (dict, paths) {
// key: email, qq
const pairs = Object.keys(dict).map((key) => {
const obj = getAttr(dict[key], paths);
return [key, obj];
});
console.log("----", pairs);
return pairs.reduce((merged, prev) => {
// prev: ['email', {'rule', 'isShow', extends}]
// merged: ['rule', {'email', 'qq'}]
console.log("--- prev", prev);
Object.entries(prev[1]).forEach(([k, v]) => {
merged[k] = merged[k] || {};
mergedk] = v;
});
return merged;
}, {});
};
// TESTING:
getAttr(list, ["email", "a", "big", "isShow"]); // true
rebuild(list, ["a", "big"]);
// {
// rule: {
// email: ["abig"],
// qq: ["abigqq"],
// },
// isShow: {
// email: true,
// qq: true,
// },
// extends: {
// email: [],
// qq: [],
// },
//
因为经济形式整体不行导致大环境机会变少,这时远程工作的岗位就能跨越地理的限制给我们更多的机会和可能。而我也在整个大环境下选择了一个远程工作的机会,因为我个人很愿意去分享,不论是…
RabbitMQ GUI 客户端工具( RabbitMQ Assistant ) RabbitMQ 是一个开源消息代理软件(有时称为面向消息的中间件),它最初实现了高级消息队列…
之前主要是在中厂用 java 做业务 目前进了虾皮用 go 做业务。 这一对比,感觉搞不懂 是脑抽了用 go 了吗? 接手的前几天就被无边无际的 json 属性文件恶心到了 …