编辑代码

Array.prototype.contains = function (k) {
    var self = this;
    for (value in self) {
        if (self[value] == k) {
            return true;
        }
    }
    return false;
}
 
 
//儿子的大吉
//var jis = [1, 3, 5, 7, 8, 11, 13, 15, 16, 18, 21, 23, 24, 25, 31, 32, 33, 35, 37, 39, 41, 45, 47, 48, 52, 57, 61, 63, 65, 67, 68, 81];
//女儿的大吉
var jis = [1, 3, 5, 7, 8, 11, 13, 15, 16, 18 , 24, 25, 31, 32, 35, 37, 41, 45, 47, 48, 52, 57, 61, 63, 65, 67, 68, 81];
 
//姓氏的笔画,我姓冯(馮),所以是 12 
var first = 12;
 
 
var groups = {};
jis.forEach(function (value) {
    var x = value - first;
    if (x > 0) {
        groups[x] = [];
        jis.forEach(function (xvalue) {
            var y = xvalue - x;
            if (y > 0) {
                if (jis.contains(first + x + y) && jis.contains(y + 1))
                    groups[x].push(y);
            }
        });
    }
});
 
//去掉没有值的数组
for (var key in groups) {
    if (groups[key].length == 0) {
        delete groups[key];
    }
}
 
 
console.dir(groups);