$(document).ready(function() {
						queue_row_template = $("#queue_row_template").html();
						var queue_content = $.parseJSON('<?echo $json_queue;?>');
						
						var sex, vk_av;
						var table_queue = [];
						$.each(queue_content, function(index, obj){
							var uid = parseInt((/\d+/).exec(obj.S_VKID));
							
								VK.Api.call('users.get', {uids: uid, fields: 'sex, photo'}, form_row);
								function form_row(data) {
									console.log(index); // выводится 0 3 4 2 5 6 1 7 8 10 11 9 12 13 15 14 17 18 16 19 20 21 22 
							        if(data.response) {
										
										sex = data.response[0].sex;
										vk_av = '<a href="http://vk.com/'+obj.S_VKID+'"><img src='+data.response[0].photo+'></a>';
										vk_link = 'href="http://vk.com/'+obj.S_VKID+'"';
							        }
							        else{
							        	sex = 0;
										vk_av = '<img src="/images/no_av.png" alt="">';
										vk_link = '';
							        }
								    var will_be = (sex == 1) ? "будет поздравлена" : "будет поздравлен";
									var queue_row = queue_row_template.replace( /{{vk_av}}/ig, vk_av)
																.replace( /{{date}}/ig, obj.f_date[1])
																.replace( /{{in_impl}}/ig, obj.f_date[0])
																.replace( /{{will_be}}/ig, will_be )
																.replace( /{{vk_id}}/ig, "http://vk.com/"+obj.S_VKID )
																.replace( /{{vk_link}}/ig, vk_link )
																.replace( /{{name}}/ig, obj.S_NAME )
																.replace( /{{sms_id}}/ig, obj.S_ID )
																.replace( /{{sms_text}}/ig, obj.S_TEXT )
																;
									
									$("#sent_queue table").append(queue_row);
							    }
						}); // $.each
					}); // $(document).ready
есть шаблон, есть данные из базы, переведенные в json. Нужно из них сделать таблицу. Она делается, но выводятся строки в произвольном порядке.  .append внутри цикла тоже нехорошо. Как за пределами функции form_row получить переменную queue_row? Или какие-то еще варианты решения...