1,Маша,13,40,3
2,Петя,12,27,6 3,Коля,10,21,4 4,Вася,7,6,5 |
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>
|
Всё!!!То,что нужно!!!
:dance: Не знал,что так можно создавать массивы: var arr_new = [] for(i=0;i<arr.length;i++){ arr_new[i] = [arr[i][0],sum(i),pro(i),raz(i)] Рони,Спасибо,огромное!!! Deff,спасибо за новый способ сортировки-никогда,такой не видел! |
Сделал может кому пригодится
// Функции сортировки по 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 ------------------------ |
Telnet,
вам дали универсальную универсальную функцию в 7 посте -- зачем плодить 6 функций вместо одной? |
| Часовой пояс GMT +3, время: 02:21. |