比方说,我想实现这个功能:如何实现泛型映射函数?
function myMapper(data, mapping) { }
随着输入端:
data = { hello : 'hi' , embedded : { prop1 : 'hiiiii' } };
mapping = { hello : 'HELLO', 'embedded.prop1' : 'embedded.propOne' };
输出将是:
res = myMapper(data, mapping);
res is { HELLO : 'hi' , embedded : { propOne : 'hiiiii' } };
要清楚:
- simp的映射乐属性:你好 - > HELLO
- 映射嵌套属性,具有点作为分隔符:embedded.prop1 - > embedded.propOne
- 旧属性被删除(你好和embedded.prop1)
- 这必须是一个通用功能,接受任何复杂的映射
- 不需要支持重命名容器:embedded.prop1 - > EMBEDDED.prop1是而不是需要。
- 的属性的值留明显相同
- 如果没有找到在映射指定的属性,它它设置为空
- 积分为其中,给定相同的映射reverseMapper,确实反向操作
我无法想象这样一个功能的使用。它试图一次完成太多事情,并且可能会比正确的结果更频繁地给你带来意想不到的结果。无论如何,这对于堆栈溢出来说是相当不重要的。您刚刚发布了一份*长*的需求清单,并要求我们为您完成工作。 – meagar
那么......你问人们为你实施这个吗?你问这是不是个好主意?你是否要求人们审查,看看这些要求是否有问题? – ajp15243
这将是一个不错的入门级卡塔http://www.codewars.com – aemxdp