Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.02.2013, 18:26
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

1,Маша,13,40,3
2,Петя,12,27,6
3,Коля,10,21,4
4,Вася,7,6,5
Ответить с цитированием
  #12 (permalink)  
Старый 06.02.2013, 18:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 27,063

dima***,
<!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(i){
   var	a=arr[i][1]+arr[i][2];
	return a;
}

function pro(i){
   var	a=arr[i][1]*arr[i][2];
	return a;
}

function raz(i){
  var a=arr[i][1]-arr[i][2];
	return a;
}

var arr=[
["Петя",9,3],
["Маша",8,5],
["Коля",7,3],
["Вася",6,1]
 ];
var arr_new = []
for(i=0;i<arr.length;i++){
arr_new[i] =  [arr[i][0],sum(i),pro(i),raz(i)]

}
 arr_new.sort(function (a, b)
{
   return b[1] - a[1]
})
document.write(arr_new.join('<br />'))
</script>
</body>
</html>
Ответить с цитированием
  #13 (permalink)  
Старый 06.02.2013, 19:07
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Всё!!!То,что нужно!!!


Не знал,что так можно создавать массивы:
var arr_new = []
for(i=0;i<arr.length;i++){
arr_new[i] = [arr[i][0],sum(i),pro(i),raz(i)]

Рони,Спасибо,огромное!!!
Deff,спасибо за новый способ сортировки-никогда,такой не видел!
Ответить с цитированием
  #14 (permalink)  
Старый 22.03.2015, 01:18
Профессор
Отправить личное сообщение для Telnet Посмотреть профиль Найти все сообщения от Telnet
 
Регистрация: 21.02.2011
Сообщений: 153

Сделал может кому пригодится
// Функции сортировки по id 
function sIdAsc(a, b) {
    if (a[0] > b[0]) return 1;
    else if (a[0] < b[0]) return -1; else return 0;
}
function sIdDesc(a, b) {
    if (a[0] < b[0]) return 1;
    else if (a[0] > b[0]) return -1; else return 0;
}
// Функции сортировки по дате
function sDateAsc(a, b) {
    if (a[1] > b[1]) return 1;
    else if (a[1] < b[1]) return -1;
    else return 0;
}
function sDateDesc(a, b) {
    if (a[1] < b[1]) return 1;
    else if (a[1] > b[1]) return -1;
    else return 0;
}
// Функции сортировки по имени
function sNameAsc(a, b) {
    if (a[2] > b[2]) return 1;
    else if (a[2] < b[2]) return -1;
    else return 0;
}
function sNameDesc(a, b) {
    if (a[2] < b[2]) return 1;
    else if (a[2] > b[2]) return -1;
    else return 0;
}
console.log('Фильт по id убывание');
sorting.sort(sIdAsc);
console.log(sorting.join('\n'));
console.log('Фильт по Date убывание');
sorting.sort(sDateAsc);
console.log(sorting.join('\n'));
console.log('Фильт по Name убывание');
sorting.sort(sNameAsc);
console.log(sorting.join('\n'));
console.log('Фильт по id возрастание');
sorting.sort(sIdDesc);
console.log(sorting.join('\n'));
console.log('Фильт по Date возрастание');
sorting.sort(sDateDesc);
console.log(sorting.join('\n'));
console.log('Фильт по Name возрастание');
sorting.sort(sNameDesc);
console.log(sorting.join('\n'));
console.log('------------------------');

То что имеем на выходе

Изначальный массив
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
Фильт по id убывание
51,2015-03-18 09:16:00,Super User
53,2015-03-18 09:53:33,Super User
53,2015-03-18 09:53:33,Super User
56,2015-03-18 15:57:33,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
60,2015-03-19 18:53:04,Super User
61,2015-03-19 18:53:16,Super User
62,2015-03-21 10:52:41,test
63,2015-03-21 17:30:00,Super User
Фильт по Date убывание
51,2015-03-18 09:16:00,Super User
53,2015-03-18 09:53:33,Super User
53,2015-03-18 09:53:33,Super User
56,2015-03-18 15:57:33,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
60,2015-03-19 18:53:04,Super User
61,2015-03-19 18:53:16,Super User
62,2015-03-21 10:52:41,test
63,2015-03-21 17:30:00,Super User
Фильт по Name убывание
58,2015-03-18 16:01:46,Super User
51,2015-03-18 09:16:00,Super User
53,2015-03-18 09:53:33,Super User
56,2015-03-18 15:57:33,Super User
57,2015-03-18 16:00:40,Super User
53,2015-03-18 09:53:33,Super User
59,2015-03-18 16:48:52,Super User
60,2015-03-19 18:53:04,Super User
61,2015-03-19 18:53:16,Super User
63,2015-03-21 17:30:00,Super User
62,2015-03-21 10:52:41,test
Фильт по id возрастание
63,2015-03-21 17:30:00,Super User
62,2015-03-21 10:52:41,test
61,2015-03-19 18:53:16,Super User
60,2015-03-19 18:53:04,Super User
59,2015-03-18 16:48:52,Super User
58,2015-03-18 16:01:46,Super User
57,2015-03-18 16:00:40,Super User
56,2015-03-18 15:57:33,Super User
53,2015-03-18 09:53:33,Super User
53,2015-03-18 09:53:33,Super User
51,2015-03-18 09:16:00,Super User
Фильт по Date возрастание
63,2015-03-21 17:30:00,Super User
62,2015-03-21 10:52:41,test
61,2015-03-19 18:53:16,Super User
60,2015-03-19 18:53:04,Super User
59,2015-03-18 16:48:52,Super User
58,2015-03-18 16:01:46,Super User
57,2015-03-18 16:00:40,Super User
56,2015-03-18 15:57:33,Super User
53,2015-03-18 09:53:33,Super User
53,2015-03-18 09:53:33,Super User
51,2015-03-18 09:16:00,Super User
Фильт по Name возрастание
62,2015-03-21 10:52:41,test
58,2015-03-18 16:01:46,Super User
61,2015-03-19 18:53:16,Super User
60,2015-03-19 18:53:04,Super User
59,2015-03-18 16:48:52,Super User
63,2015-03-21 17:30:00,Super User
57,2015-03-18 16:00:40,Super User
56,2015-03-18 15:57:33,Super User
53,2015-03-18 09:53:33,Super User
53,2015-03-18 09:53:33,Super User
51,2015-03-18 09:16:00,Super User
------------------------
Ответить с цитированием
  #15 (permalink)  
Старый 22.03.2015, 01:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 27,063

Telnet,
вам дали универсальную универсальную функцию в 7 посте -- зачем плодить 6 функций вместо одной?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами. Требуется помощь. Кристи Общие вопросы Javascript 3 08.02.2011 18:00
IFRAME, требуется срочно помощь!!! A.alex Общие вопросы Javascript 13 13.06.2010 20:00
Требуется помощь. Дмитрий Котов Работа 9 22.02.2010 20:02
Требуется помощь в проверке функции удаления конечных пробелов. hurt Общие вопросы Javascript 4 16.11.2008 12:36
Цитирование текста в комментариях. Требуется помощь. shinjuku Общие вопросы Javascript 3 07.07.2008 14:19