| 
	| 
	
	| 
		
	| 
			
			 
			
				06.02.2013, 14:43
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 13.12.2012 
						Сообщений: 283
					 
		
 |  |  
	| 
				Требуется помощь
			 Не получается отсортировать по sum  и сделать таблицу.
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<body>
<script>
function sum(b,c){
	a=+arr[i][1]+(+arr[i][2]);
	return a;
}
function pro(b,c){
	a=+arr[i][1]*(+arr[i][2]);
	return a;
}
function raz(b,c){
	a=+arr[i][1]-(+arr[i][2]);
	return a;
}
var arr=[
["Петя",9,3],
["Маша",8,5],
["Коля",7,3],
["Вася",6,1]
 ];
 
for(i=0;i<arr.length;i++){
u=(i+1)+','+arr[i][0]+','+sum(arr[i][0])+','+pro(arr[i][0])+','+raz(arr[i][0]);
document.write(u+'<br>');
}
</script>
</body>
</html>
			 Последний раз редактировалось dima***, 06.02.2013 в 16:33.
 |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 15:11
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| 
<script type="text/javascript">
var arr=[
["Петя",9,3],
["Маша",7,5],
["Коля",11,3],
["Вася",10,1]
 ];
var obj={};
var j=0;
for(i=0;i<arr.length;i++){
 obj[''+arr[i][1]+''+(10000000+j)]=arr[i];j++
}
j=0;
for(i in obj){
 arr[j]=obj[i];j++;
}
document.write(arr.join('<br/>'))
</script>
			 Последний раз редактировалось Deff, 06.02.2013 в 15:36.
 |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 15:16
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| Deff,а если Коля,7 Маша,7 ???
 |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 15:28
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| рони,
    Поправил |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 15:29
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 13.12.2012 
						Сообщений: 283
					 
		
 |  |  
	| А ещё какие решения будут? |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 15:39
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| 
	
 
	| Сообщение от dima*** |  
	| А ещё какие решения будут? |  
	
   
Ща - профессор... |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 15:58
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| dima***,
 Снова  да ладом ...
 
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
  <meta charset="utf-8" />
</head>
<body>
<script  type="text/javascript">
var arr=[
 [53,"2015-03-18 09:53:33","Super User"],
 [63,"2015-03-21 17:30:00","Super User"],
 [53,"2015-03-18 09:53:33","Super User"],
 [62,"2015-03-21 10:52:41","test"],
 [56,"2015-03-18 15:57:33","Super User"],
 [61,"2015-03-19 18:53:16","Super User"],
 [51,"2015-03-18 09:16:00","Super User"],
 [60,"2015-03-19 18:53:04","Super User"],
 [57,"2015-03-18 16:00:40","Super User"],
 [58,"2015-03-18 16:01:46","Super User"],
 [59,"2015-03-18 16:48:52","Super User"]
 ];
//функция для вывода результата для теста
function show( arr, str)
{ str = str || '';
  var html = str + "<br />";
  for (var i=0; i<arr.length; i++)  {
  html+=arr[i].join()+"<br />"
  }
  return html+"<br />"
}
//без сортировки
document.write(show(arr,'без сортировки'))
//функция для сортировки
function s(a, b) {
    return function(c, d) {
        return c[a] < d[a] ? b ? 1 : -1 : c[a] > d[a] ? b ? -1 : 1 : 0
    }
};
//сортируем по первому полю 0
arr.sort(s(0))
document.write(show(arr,'по первому полю'))
//сортируем по первому полю 0 убывание
arr.sort(s(0, true))
document.write(show(arr,'по первому полю убывание'))
//сортируем по второму полю 1
arr.sort(s(1))
document.write(show(arr, 'по второму полю'))
//сортируем по второму полю 1 убывание
arr.sort(s(1, true))
document.write(show(arr, 'по второму полю убывание'))
//сортируем по третьему полю 2
arr.sort(s(2))
document.write(show(arr, 'третьему полю'))
//сортируем по третьему полю 2
arr.sort(s(2,true))
document.write(show(arr, 'третьему полю убывание'))
</script>
</body>
</html>
 			 Последний раз редактировалось рони, 22.03.2015 в 01:54.
				Причина: замена массива
 |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 17:15
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 13.12.2012 
						Сообщений: 283
					 
		
 |  |  
	|   Мне совсем другое нужно!Не как сортировать элементы в массиве. 
а отсортировать  по sum  и сделать таблицу.
 
Или хотя бы из этого массив сделать: 
for(i=0;i<arr.length;i++){	u=(i+1)+','+arr[i][0]+','+sum(arr[i][0])+','+pro(arr[i][0])+','+raz(arr[i][0]); 
	document.write(u+'<br>'); 
	} |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 17:34
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| 
	
 
	| Сообщение от dima*** |  
	| а отсортировать  по sum и сделать таблицу. |  
	
   Ну той жа моей методой пойдет ? 
 
<script type="text/javascript">
var arr=[
["Петя",9,3],
["Маша",8,5],
["Коля",11,3],
["Вася",10,1]
 ];
var obj={};
var j=0;
for(i=0;i<arr.length;i++){
 obj[''+(arr[i][1]+arr[i][2])+''+(10000000+j)]=arr[i];j++
}
j=0;
for(i in obj){
 arr[j]=obj[i];j++;
}
document.write(arr.join('<br/>'))
</script>
			 Последний раз редактировалось Deff, 06.02.2013 в 17:38.
 |  |  
	| 
		
	| 
			
			 
			
				06.02.2013, 17:37
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| 
	
 
	| Сообщение от dima*** |  
	| Или хотя бы из этого массив сделать: for(i=0;i<arr.length;i++){	u=(i+1)+','+arr[i][0]+','+sum(arr[i][0])+','+pro(arr[i][0])+','+raz(arr[i][0]);
 document.write(u+'<br>');
 }
 |  
	
   Этого не понял - покажите итоговый вид массива |  |  |  |