Hi,
I tried to create a map function which should use the following conditions:
- e.g. chr.no = 5 and chr.no = 6
- chr.letter between two objects/dicts in chr are not the same and no X
I have the following function but I do not know how to combine it with
`emit`
var judge = function (no1, no2) {
var unexpect = "X";
var letter1 = unexpect, letter2 = unexpect;
for (var i in this.chr) {
var chr = this.chr[i];
if (chr.no == no1) {
letter1 = chr.letter;
} else if (chr.no == no2) {
letter2 = chr.letter;
}
}
if (letter1 != letter2 && letter1 != unexpect && letter2 !=
unexpect) {
return true;
}
return false;
};
CouchDB has the below content:
{
"total_rows":5,
"offset":0,
"rows":[
{
"_id":"10",
"_rev":"3-5288068d2c4ef3e6a9d3f8ff4e3377dd",
"chr":[
{
"letter":"T",
"no":4
},
{
"letter":"A",
"no":5
},
{
"letter":"X",
"no":6
}
]
},
{
"_id":"14",
"_rev":"3-21300d06c31224416b8ff71b71b304d8",
"chr":[
{
"letter":"T",
"no":4
},
{
"letter":"G",
"no":5
},
{
"letter":"G",
"no":6
}
]
},
{
"_id":"7",
"_rev":"2-1516ba547bdd21724158bc854f39f66b",
"chr":[
{
"letter":"C",
"no":5
},
{
"letter":"T",
"no":6
}
]
},
{
"_id":"8",
"_rev":"2-750078ccc9e74616f33a2537e41b8414",
"chr":[
{
"letter":"C",
"no":5
},
{
"letter":"T",
"no":6
}
]
},
{
"_id":"9",
"_rev":"2-3d68352a2d98c56fd322ae674fb7c38a",
"chr":[
{
"letter":"A",
"no":5
},
{
"letter":"G",
"no":6
}
]
}
]
}
How is it possible to write a map function combine with the above `judge`
function or maybe there is better way to do it?
P.S. I also asked the same question here (
http://stackoverflow.com/questions/27688196/map-function-with-a-helper-function-in-couchdb
)
Thank you in advance.
Mic