1. 程式人生 > >js 物件-陣列相互轉換

js 物件-陣列相互轉換

js 物件-陣列相互轉換

題目:

這裡寫圖片描述

這裡寫圖片描述

script 指令碼程式碼

陣列轉物件


<script type="text/javascript">
    function fun() {
        var menuArr = [
            [1, "Area1", -1],
            [2, "Area2", -1],
            [3, "Area1-1", 1],
            [4, "Area1-2", 1],
            [5, "Area2-1", 2],
            [6, "Area2-2"
, 2], [7, "Area1-2-3", 4], [8, "Area2-2-1", 6], ]; // var subArrToSubObj // 轉換成 物件陣列 var subArrToSubObj = menuArr.map(function (arr, i) { return {key: arr[0], obj: {name: arr[1]}, parentKey: arr[2]}; }) console.log(subArrToSubObj); var
menuObject = {}; var tempObjArr = subArrToSubObj; var len = tempObjArr.length; for (var i = len - 2; i >= 0; i--) { for (var j = len - 1; 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==-1){ menuObject[tempObjArr[i].key]=tempObjArr[i].obj; } } console.log(menuObject); // console.log(tempObjArr); } fun();
</script>

物件轉陣列


 function  fun5() {
        var scoreObject = {
            "Tony": {
                "Math": 95,
                "English": 79,
                "Music": 68
            },
            "Simon": {
                "Math": 100,
                "English": 95,
                "Music": 98
            },
            "Annie": {
                "Math": 54,
                "English": 65,
                "Music": 88
            }
        }
        var arr= [];
        for (var i in scoreObject){
          arr.push(i,scoreObject[i].Math,scoreObject[i].English,scoreObject[i].Music);
        }
        console.log(arr);
    }
    fun5();