var a = {
            "BAAAA": {
                "id": "BAAAA",
                "name": "三等分1",
                "image": "http://avatar.profile.csdn.net/9/A/2/2_fosjos.jpg",
                "groups": "0"
            },
            "BAAAb": {
                "id": "BAAAb",
                "name": "飞机",
                "image": "http://www.csdn.net/Images/logo_csdn.gif",
                "groups": "0"
            },
            "BAAAC": {
                "id": "BAAAC",
                "name": "李鼎荣",
                "image": "http://www.google.cn//logos/tetris09.gif",
                "groups": "0"
            },
            "BAAAd": {
                "id": "BAAAd",
                "name": "三等分2",
                "image": "http://hdn511.xnimg.cn/photos/hdn511/20090411/09/40/tiny_HNeu_1313o204234.jpg",
                "groups": "0"
            }
            
        }
var str = "三 san 等 deng 分 fen 飞 fei 机 ji 李 li 鼎 ding 荣 rong 乱 luan 七 qi 八 ba 糟 zao 的 de 其 qi 他 ta";
var group={san:['三'],deng:['等'],fen:['分'],fei:['飞'],ji:['机'],li:['李'],ding:['鼎'],rong:['荣'],luan:['乱'],qi:['七','其'],ba:['八'],zao:['糟'],de:['的'],ta:['他']}
怎样变成下面的结果??因为数据巨大 所以需要电脑提取 而不是人工提取
s={sandengfen:['三等分1','三等分2'],feiji:['飞机'],lidingrong:['李鼎荣']}

解决方案 »

  1.   

    var a = {
        "BAAAA": {
            "id": "BAAAA",
            "name": "三等分1",
            "image": "http://avatar.profile.csdn.net/9/A/2/2_fosjos.jpg",
            "groups": "0"
        },
        "BAAAb": {
            "id": "BAAAb",
            "name": "飞机",
            "image": "http://www.csdn.net/Images/logo_csdn.gif",
            "groups": "0"
        },
        "BAAAC": {
            "id": "BAAAC",
            "name": "李鼎荣",
            "image": "http://www.google.cn//logos/tetris09.gif",
            "groups": "0"
        },
        "BAAAd": {
            "id": "BAAAd",
            "name": "三等分2",
            "image": "http://hdn511.xnimg.cn/photos/hdn511/20090411/09/40/tiny_HNeu_1313o204234.jpg",
            "groups": "0"
        }}
    var str = "三 san 等 deng 分 fen 飞 fei 机 ji 李 li 鼎 ding 荣 rong 乱 luan 七 qi 八 ba 糟 zao 的 de 其 qi 他 ta";var d = {};//这个d就是你要的结果
    var ad = str.split(' ');
    var ao = {}
    for (var i = 0, an; an = ad[i++];) {
        ao[an] = ad[i++];
    }
    function getname(name) {
        name = name.replace(/\d/g, '').split('');
        var nstr = '';
        for (var i = 0,
        n; n = name[i++];) nstr += ao[n];
        return nstr;
    }
    for (A in a) {
        var name = a[A]['name'], py = getname(name);
        if (!d[py]) d[py] = [name]; else d[py].push(name);
    }
    for (m in d) alert(d[m]);