이 코드를 사용하여 개체 배열을 정렬합니다. 객체의 데이터는 채널과 시간 (시, 분)입니다. 시간순으로 채널을 기준으로 정렬하고 싶습니다. data
객체 배열이 같은이며, 이미 정렬개체 배열을 시간순으로 정렬합니다. 가장 늦은 순서에서 오름차순으로 정렬합니다.
channel_array[icount].data[0].hour
channel_array[icount].data[0].minutes
그건 :
[{hour:1, minutes:10},{hour:4, minutes:01}...]
지금 필요한 건 초기의 채널을 분류하는 것입니다
채널 데이터는이 방법으로 액세스 할 수 있습니다 데이터 배열 {hour:1, minutes: 10}
의 첫 번째 요소에 대한 최신 정보. 3 중첩 된 루프를 사용하여이 작업을 수행합니다. 그러나 이것은 이상적이지 않습니다. 분류 작업을 수행하는 더 좋은 방법이 있습니까?
var current_time = new Date();
var current_hour = current_time.getHours();
var comp_hour = current_hour - 1;
for (var ih = 0; ih < 24; ih++) {
comp_hour += 1;
if (comp_hour == 24) { comp_hour = 0; }
for (var minutes = 0; minutes < 60; minutes++) {
for (var icount = 0; icount < channel_array.length; icount++) {
if (channel_array[icount].data.length > 0) {
var channel_hour = channel_array[icount].data[0].hour;
var channel_minutes = channel_array[icount].data[0].minutes;
var channel_phase = channel_array[icount].data[0].phase;
var next_day = channel_array[icount].data[0].next_day;
if (channel_phase.toLowerCase() == "pm" && channel_hour != 12) { channel_hour += 12; }
if (parseInt(channel_hour) == parseInt(comp_hour) && parseInt(channel_minutes) == parseInt(minutes) && next_day != 1) {
channel_array_sort.push(channel_array[icount]);
}
}
}
}
}
는'channel_array', 또는'channel_array.data'을 정렬 할 배열인가? 이전 버전 인 경우 정렬되지 않은 입력 및 정렬 된 출력의 모양에 대한 정보를 더 제공 할 수 있습니까? –
'.data' 객체에 대한 정렬 결과를 기반으로 channel_array [icount]를 정렬하려고합니다. 그 객체는 이미 정렬되어 있습니다. 시간별로 채널을 정렬하고 싶습니다. – user823527