日期:2014-05-16  浏览次数:20353 次

js 数组问题 ..待解决.................
var A=["尺寸: 4 GB", "颜色: 蓝黑", "尺寸: 16 GB", "颜色: 黑红", "尺寸: 8 GB", "颜色: 白黑", "尺寸: 32 GB"] ;

var B=["尺寸:4GB,16GB,8GB,32GB","颜色:蓝黑,黑红,白黑"]
根据A数组 得到B数组,谁有比较好的方法
js 数组 Array

------解决方案--------------------
引用:
不建议写死参数:
<script type="text/javascript">
    var A=["尺寸: 4 GB", "颜色: 蓝黑", "尺寸: 16 GB", "颜色: 黑红", "尺寸: 8 GB", "颜色: 白黑", "尺寸: 32 GB"];
    //var A=["尺寸: 4 GB", "颜色: 蓝黑", "尺寸: 16 GB", "颜色: 黑红", "尺寸: 8 GB", "颜色: 白黑", "尺寸: 32 GB","其他: 神马东西"];
    var temp={},B=[];
    for(var i= A.length-1;i>=0;i--){
        var arr=A[i].split(": ");
        if(temp[arr[0]]){
            temp[arr[0]]+=","+arr[1];
        }else{
            temp[arr[0]]=arr[1];
        }
    }
    for(var k in temp){
        B.push(k+":"+temp[k]);
    }
    console.log(B);
    //var B= ["尺寸:4GB,16GB,8GB,32GB","颜色:蓝黑,黑红,白黑"];
</script>


個人覺得這種方式很好,只要封裝一下組成函數,那麼只要傳一個參數就行了,能一本萬利.
不過建議var arr=A[i].split(": ");還是截取下兩邊的空格好點