한 데이터 구조에서 다른 데이터 구조로 변환하는 데 어려움을 겪고 있습니다. 나는이있어 :데이터 구조 변환을위한 루프
var obiekat={
"drogi" : [
{
"miasta" : ["A", "B"],
"czas_przejazdu" : 3
},
{
"miasta" : ["A", "C"],
"czas_przejazdu" : 2
}
],
"max_czas_przejazdu" :4
};
나는이 같은 내장 객체로 변환 할 :
var nodes_fire ={
"A" :
{
"B":3 ,
"C":2
},
"B" :
{
"A":3
},
"C" :
{
"A":2
}
};
나는 도로의 수에도 불구하고 변환해야합니다. 그런 기능을 어떻게 시작해야할지 모르겠다. 나는 많은 것을 시도했다. 아마도 틀렸다. 여기
내 코드입니다 :<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<button>Click</button>
<script>
$(document).ready(function(){
$('button').click(function(){
var obiekat={
"miasta" : [
{
"nazwa" : "A",
"ma_jednostke" : true
},
{
"nazwa" : "B",
"ma_jednostke" : true
}
],
"drogi" : [
{
"miasta" : ["A", "B"],
"czas_przejazdu" : 3
},
{
"miasta" : ["A", "C"],
"czas_przejazdu" : 2
}
],
"max_czas_przejazdu" :4
};
var nodes_fire =
{
"A" :
{
"B":1 ,
"C":3
},
"B" :
{
"A":2
},
"C" :
{
"A":3
}
};
var rnowy=[];
var nowy={};
var second_city,first_city,travel;
var ritem={};
var item={};
var summer1=[],
summer2=[];
for (property in obiekat.drogi){
var count = 0;
first_city=obiekat.drogi[property].miasta[0];
second_city=obiekat.drogi[property].miasta[1];
travel=obiekat.drogi[property].czas_przejazdu;
ritem[second_city]=obiekat.drogi[property].czas_przejazdu;
if(item.hasOwnProperty(first_city)){
item[first_city]=ritem;
}else{
item[first_city]=ritem;
}
rnowy.push(item);
count++;
}
$('#result').text(JSON.stringify(rnowy));
});
});
</script>
<pre id="result">
</pre>
</body>
</html>
디버깅을 돕기 전에 [mcve]를 제공해야합니다. – Quentin