Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Работа с массивами (https://javascript.ru/forum/jquery/45315-rabota-s-massivami.html)

BorisBritva 23.02.2014 16:21

Работа с массивами
 
Приветствую. С праздником Вас.

Меня интересует поиск в Массиве. ключ => значение

В значение забивается некая сумма.

Меня интересует:

1. Возможно ли НЕ методом перебора массива, найти ключ ближайшего по по сумме значения но не больше заданного?

2. Как отсортировать массив по значению (сумме) от ноля и выше?

Спасибо.

danik.js 23.02.2014 17:24

Цитата:

Сообщение от BorisBritva
jQuery » Работа с массивами

Объясни пожалуйста, причем тут jQuery?


Цитата:

Сообщение от BorisBritva
2. Как отсортировать массив по значению (сумме) от ноля и выше?

alert([3,1,5,2].sort(function(a, b) {
    return a - b;
}))

BorisBritva 23.02.2014 17:35

Благодарю danik.js

BorisBritva 23.02.2014 17:48

Из php возвращаю массив:

$array = array(
'0' => '6500000',
'1' => '3900000',
'2' => '4100000',
'3' => '4200000',
'4' => '3950000',
'5' => '4000000',
'6' => '4010000',
'7' => '3950000',
'8' => '2600000',
'9' => '3400000'
);

exit("DataFetch('".$array."');");

function DataFetch(array){


alert(array.sort(function(a, b) {
    return a - b;
})
);

}


Ничего не показывает. Что не так?

BorisBritva 23.02.2014 18:12

Сделал так:

$array = "6500000,3900000,4100000,4200000,3950000,4010000,3 950000,2600000,3400000";

exit("DataFetch('".$array."');");

function DataFetch(array){

alert([array].sort(function(a, b) {
    return a - b;
}))

}


И в итоге он ничего не сортирует. Тупо выдает тоже самое!

6500000,3900000,4100000,4200000,3950000,4010000,39 50000,2600000,3400000

danik.js 23.02.2014 18:30

Цитата:

Сообщение от BorisBritva
Сделал так:

Сделай так:
$array = array(6500000,3900000,4100000,4200000);
header('Content-Type: application/json');
exit(json_encode($array));

danik.js 23.02.2014 18:31

Цитата:

Сообщение от BorisBritva
DataFetch('".$array."');

А че это ты пишешь в результат вызов функции?
Ты должен передать в JSON-формате массив, а в браузере по получению уже вызвать функцию DataFetch(JSON.parse(response))
Где response - ответ сервера (с массивом в JSON-формате).


Часовой пояс GMT +3, время: 15:34.