【发布时间】:2015-08-17 12:28:31
【问题描述】:
我很少有像数据库中的表一样相互链接的对象:
var data = {}
data.Contracts = {
"RefferencesObject": {
"Refferencs": [
{
"amount": 0,
"refState": "a",
"refference": "REF1"
},
{
"amount": 850,
"refState": "a",
"refference": "REF2"
},
{
"amount": 2000,
"refState": "a",
"refference": "REF3"
}
]
},
"CardsObject": {
"Cards": [
{
"refference": "REF1",
"card": "0001"
},
{
"refference": "REF2",
"card": "0002"
},
{
"refference": "REF2",
"card": "0003"
},
{
"refference": "REF2",
"card": "0004"
},
{
"refference": "REF3",
"card": "0003"
},
{
"refference": "REF3",
"card": "0005"
}
]
},
"CardsStatesObject": {
"CardsStates": [
{
"cardState": "active",
"card": "0001"
},
{
"cardState": "closed",
"card": "0002"
},
{
"cardState": "closed",
"card": "0003"
},
{
"cardState": "active",
"card": "0004"
},
{
"panState": "closed",
"pan": "0005"
},
]
}
};
我必须创建一个包含所有链接数据的对象,如下所示:
"ResultObject" : {
{
"amount": 0,
"refState": "a",
"refference": "REF1",
"card" : "0001",
"cardState" : "active"
},
{
"amount": 0,
"refState": "a",
"refference": "REF2",
"card" : "0002",
"cardState" : "closed"
},
{
"amount": 0,
"refState": "a",
"refference": "REF2",
"card" : "0003",
"cardState" : "closed"
},
{
"amount": 0,
"refState": "a",
"refference": "REF2",
"card" : "0004",
"cardState" : "closed"
},
{
"amount": 0,
"refState": "a",
"refference": "REF3",
"card" : "0003",
"cardState" : "active"
},
{
"amount": 0,
"refState": "a",
"refference": "REF3",
"card" : "0005",
"cardState" : "active"
}
}
现在我有大而丑陋的循环,它不喜欢它是连接对象的最佳方式。也许我可以使用 map/reduce 函数来自动化我需要的连接?
【问题讨论】:
-
你想要的结果是一个无效的javascript对象,难怪你不能创建它
-
@JaromandaX 为什么无效?我可能会犯错,但我的目标只是展示我想要达到的目标
-
javascript 对象的一般形式:
{ nameValuePair1, nameValuePair2, ...nameValuePairN }...nameValuePair- 名称与值之间用冒号分隔的名称(字符串)和值(任何值)对。 - 见developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript dictionary mapreduce reduce