나는 내가 계속해서 자신이 데이터베이스에서 데이터를 당기는 때 사이의 선택 발견이 두 가지 데이터 구조가 있습니다데이터 구조에 관한 가장 좋은 방법은 고유 ID의
{
"1": {"location": "seattle", "color": "red"},
"2": {"location": "irvine", "color": "blue"},
"3": {"location": "san diego", "color": "green"}
}
{
"listings":[
{"id": "1", "location": "seattle", "color": "red"},
{"id": "2", "location": "irvine", "color": "blue"},
{"id": "3", "location": "san diego", "color": "green"}
]
}
각각 장단점을 갖고있는 것 같아요을 ...
오브젝트 구조는 ID가 주어진 값에 빠르게 액세스하는 데 적합합니다. obj['3'].color
은 매우 느린 루프 인 for(key in obj)
루프로 루프해야하는 모든 오브젝트를 나열 할 때 문제가 있음을 나타냅니다.
for(var i=0; i<array.length; i++)
을 사용하면 배열 구조가 훨씬 빠르게 루프되지만 ID가 지정된 값에 액세스하는 것은 쉬운 일이 아닙니다. 제공된 배열에 대해 ID를 확인하면서 전체 배열을 반복하는 함수를 만들어야합니다.
두 솔루션 중 jsperf입니다.
당신은 어느 것이 더 낫다고 생각합니까? 그 이유는 무엇입니까?
JavaScript 개체와 배열이 있지만 여기에 JSON이 없습니다. 데이터를 JSON으로 클라이언트에 전송하면 괜찮습니다.하지만 일단 데이터가 구문 분석되면 더 이상 JSON을 처리하지 않습니다. –
그것은 똑같습니다. 서버가 JSON으로 구문 분석 된 객체 또는 JSON으로 구문 분석 된 배열을 반환한다고 가정합니다. – alnafie
그렇지 않습니다. JSON은 데이터 교환 형식이며 JavaScript 배열 또는 객체는 JavaScript의 데이터 유형입니다. 비슷한 구문으로 오해하지 마십시오. 목적에 가장 적합한 데이터 구조가 무엇인지 파악하는 것이 문제라면 JSON과 전혀 관련이 없습니다. –