【发布时间】:2015-07-21 14:52:56
【问题描述】:
按照Hoek 文档中的transform() 示例,有没有办法转换源对象中的数组?
将示例转换为带有数组的内容,如下所示:
var source = {
address: [
{
one: '123 main street',
two: 'PO Box 1234'
},
{
one: '456 fake street',
two: 'Apt 2b'
}],
title: 'Warehouse',
state: 'CA'
};
var result = Hoek.transform(source, {
'person.address.lineOne': 'address.one',
'person.address.lineTwo': 'address.two',
'title': 'title',
'person.address.region': 'state'
});
结果:
{
person: {
address: {
lineOne: undefined,
lineTwo: undefined,
region: 'CA'
}
},
title: 'Warehouse'
}
编辑:添加预期结果:
{
person: {
address: [{
lineOne: '123 main street',
lineTwo: 'PO Box 1234',
region: 'CA'
},
{
lineOne: '465 fake street',
lineTwo: 'Apt 2b',
region: 'CA'
}]
},
title: 'Warehouse'
}
我认为我想要完成的工作超出了此方法的范围,但我想确定这不是用户错误。
如果它超出了 hoek 的转换范围,有什么建议可以将 JS 对象映射到具有新键名的新对象的好方法?
【问题讨论】:
-
您希望结果如何?
-
@GergoErdosi,很好的问题...用这个编辑更新了问题
标签: javascript arrays json hapijs