javascript/jquery получить наименьшее число

$("div").each(function(){
  var index_no = $(this).index();
  console.log(index_no);
});

Я хочу получить самый низкий индекс, но я не могу этого сделать


person Ugurcan    schedule 03.01.2015    source источник
comment
у меня есть порядковые номера, например 2-4-1, я хочу отсортировать их как 1-2-4, и у меня есть динамическая система, когда я нажимаю кнопку, я получаю случайные порядковые номера   -  person Ugurcan    schedule 04.01.2015


Ответы (3)


Я хочу получить самый низкий индекс, но я не могу этого сделать

Конечно, можно: 0

Самый низкий индекс любого массива будет равен 0 в JavaScript.


Если у вас есть массив значений, вы можете получить min так:

var arr = [3,1,4];
Math.min.apply(Math, arr);  // returns 1

Учитывая ваш пример кода (который вы должны включить в свой вопрос):

var indexes = [];
$("div").each(function(i){
   if(!$(this).hasClass("lo")){
     indexes[indexes.length]=i;
   }
});


console.log("Matches: ", indexes);
console.log("Min: ", Math.min.apply(Math,indexes));
person vol7ron    schedule 03.01.2015
comment
смотри, у меня есть каждый и у меня есть if там if(!$(this).hasClass(bla)){ console.log($(this).index()); } он возвращает 2,5,7, я должен получить 2 число - person Ugurcan; 04.01.2015
comment
@Ugurcan, вы путаете порядковый номер со значением этого порядкового номера. Если у вас есть массив чисел, например [2, 5, 7], тогда массив [0] будет равен 2. - person wmock; 04.01.2015
comment
@Ugurcan: ты видишь? - person vol7ron; 04.01.2015
comment
спасибо, как я могу получить только первый номер? Вы можете помочь мне в этом? - person Ugurcan; 04.01.2015
comment
@Ugurcan Я не понимаю. indexes[0] вернет первое число в массиве. - person vol7ron; 04.01.2015

Если вы посмотрите на документацию по jQuery, вы увидите, что функция each предоставляет порядковый номер в функцию обратного вызова, которую вы передаете.

Кроме того, я не уверен, что понимаю, чего вы пытаетесь достичь с помощью своего кода, но разве самый низкий индекс коллекции не будет равен 0?

person wmock    schedule 03.01.2015
comment
спасибо, у меня есть порядковые номера, но мне нужно получить наименьший порядковый номер, я не могу их отсортировать :S - person Ugurcan; 04.01.2015
comment
Я думаю, вам нужно будет дать больше разъяснений относительно того, что вы подразумеваете под самым низким номером индекса. - person wmock; 04.01.2015
comment
я добавляю комментарий вверху - person Ugurcan; 04.01.2015
comment
Если у вас есть набор индексных чисел, почему вы не можете просто отсортировать эти числа? - person wmock; 04.01.2015
comment
я не знаю, как я могу это сделать - person Ugurcan; 04.01.2015
comment
Вы можете поместить эти индексы в массив, а затем отсортировать массив. developer.mozilla.org/en-US/ документы/Интернет/JavaScript/Справочник/ - person wmock; 04.01.2015

HTML

<p>index_0</p>
<div>index_1</div>
<div>index_2</div>
<p>index_3</p>
<p>index_4</p>
<div>index_5</div>
<div>index_6</div>
<div>index_7</div>

JS

var cnt = 0;
var idxArray = [];

$("div").each(function(){
  var index_no = $(this).index();
  idxArray[cnt] = index_no;
    cnt++;
});
alert('The lowest index of DIV is [' + Math.min.apply(Math, idxArray) + ']');

Рабочий пример

FIDDLE

person Lumi Lu    schedule 03.01.2015