2 u014446564 u014446564 于 2014.12.09 10:45 提问

js数组合并去重.....................
js

```var dataset=[["美国-未知-未知",3,30],["中国-河北-石家庄",50,40],["中国-上海,20,10] ,["中国-北京",60,27],["中国-广东-汕头",20,33],["中国-天津",10,3] ,["中国-浙江-杭州",10,3],["中国-西藏",30,3]];

```有一组数据 其中 ["中国-天津",10,3],["中国-浙江-杭州",10,3]

这两个数组的后两个值相同 我想把这两个数组合并成一个数组 ,变为["中国-浙江-杭州,中国-天津",10,3] 这种形式 我该怎么做 求好心人解答

2个回答

q107770540
q107770540   Ds   Rxr 2014.12.09 10:56
showbo
showbo   Ds   Rxr 2014.12.09 11:14

遍历数组进行合并

    var dataset = [["美国-未知-未知", 3, 30], ["中国-河北-石家庄", 50, 40], ["中国-上海", 20, 10], ["中国-天津", 10, 3], ["中国-北京", 60, 27], ["中国-广东-汕头", 20, 33], ["中国-浙江-杭州", 10, 3], ["中国-西藏", 30, 3]];
    var rst = {},key;

    for (var i = 0, j = dataset.length; i < j; i++) {
        key = dataset[i][1] + '-' + dataset[i][2];
        if (rst[key]) rst[key] += ',' + dataset[i][0];
        else rst[key] = dataset[i][0];
    }
    dataset = [];
    for (key in rst) dataset.push([rst[key]].join(key.split('-')));
    console.log(dataset)
showbo
showbo 最后合并数组搞错,dataset.push([rst[key]].join(key.split('-'))); 应该是 dataset.push([rst[key]].concat(key.split('-')));
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!