天天看點

js 對象-數組互相轉換

js 對象-數組互相轉換

題目:

js 對象-數組互相轉換
js 對象-數組互相轉換

script 腳本代碼

數組轉對象

<script type="text/javascript">
    function fun() {
        var menuArr = [
            [, "Area1", -],
            [, "Area2", -],
            [, "Area1-1", ],
            [, "Area1-2", ],
            [, "Area2-1", ],
            [, "Area2-2", ],
            [, "Area1-2-3", ],
            [, "Area2-2-1", ],
        ];

//   var subArrToSubObj

        // 轉換成 對象數組
        var subArrToSubObj = menuArr.map(function (arr, i) {
            return {key: arr[], obj: {name: arr[]}, parentKey: arr[]};
        })
        console.log(subArrToSubObj);

        var menuObject = {};
        var tempObjArr = subArrToSubObj;
        var len = tempObjArr.length;

        for (var i = len - ; i >= ; i--) {
            for (var j = len - ; j >= i; j--) {
                if (tempObjArr[i].key == tempObjArr[j].parentKey) {
                    if (tempObjArr[i].obj["subMenu"]) {
                        tempObjArr[i].obj["subMenu"][tempObjArr[j].key] = tempObjArr[j].obj;
                    } else {
                        tempObjArr[i].obj["subMenu"] = {};
                        tempObjArr[i].obj["subMenu"][tempObjArr[j].key] = tempObjArr[j].obj;
                    }
                }
            }
        }

          // 設定根目錄
        for(var i in tempObjArr){
            if(tempObjArr[i].parentKey==-){
                menuObject[tempObjArr[i].key]=tempObjArr[i].obj;
            }
        }
        console.log(menuObject);

//        console.log(tempObjArr);

    }
    fun();
</script>
           

對象轉數組

function  fun5() {
        var scoreObject = {
            "Tony": {
                "Math": ,
                "English": ,
                "Music": 
            },
            "Simon": {
                "Math": ,
                "English": ,
                "Music": 
            },
            "Annie": {
                "Math": ,
                "English": ,
                "Music": 
            }
        }
        var arr= [];
        for (var i in scoreObject){
          arr.push(i,scoreObject[i].Math,scoreObject[i].English,scoreObject[i].Music);
        }
        console.log(arr);
    }
    fun5();
           
js