Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.06.2015, 11:55
Интересующийся
Отправить личное сообщение для olejan Посмотреть профиль Найти все сообщения от olejan
 
Регистрация: 25.04.2011
Сообщений: 11

Получить ключ минимального знаения массива
есть массив [1: 3, 2: 2, 3: 4, 4: 1]

Как получить ключ минимального значения?
Ответить с цитированием
  #2 (permalink)  
Старый 06.06.2015, 12:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

olejan,
у вас пока не массив и не обьект
Ответить с цитированием
  #3 (permalink)  
Старый 06.06.2015, 15:18
Аспирант
Отправить личное сообщение для Endy Посмотреть профиль Найти все сообщения от Endy
 
Регистрация: 15.05.2015
Сообщений: 41

Я думаю имелось ввиду объект.
var obj = {1: 3, 2: 2, 3: 4, 4: 1};
var objectValues = Object.keys(obj).map(function(e){
    return obj[e];
});
var min = Math.min.apply(null,objectValues);
var key;
for (key in obj) {
    if (obj[key] !== min) continue;
    alert(key);
}
Ответить с цитированием
  #4 (permalink)  
Старый 06.06.2015, 15:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

olejan, если у вас обьект
var obj = {
    1: 3,
    2: 2,
    3: 4,
    4: 1
};
alert(Object.keys(obj).sort(function(a, b) {
    return obj[a] - obj[b]
})[0]);
Ответить с цитированием
  #5 (permalink)  
Старый 07.06.2015, 14:30
Интересующийся
Посмотреть профиль Найти все сообщения от pornoborets
 
Регистрация: 07.06.2015
Сообщений: 26

Сообщение от рони
если у вас обьект
Какая разница, это и для массива сработает
var obj = [3,2,4,1]

alert(Object.keys(obj).sort(function(a, b) {
    return obj[a] - obj[b]
})[0]);


//>>>> 3
Ответить с цитированием
  #6 (permalink)  
Старый 07.06.2015, 15:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

pornoborets,
для массива лучше цикл по существующим индексам forEach
Ответить с цитированием
  #7 (permalink)  
Старый 07.06.2015, 15:44
Интересующийся
Посмотреть профиль Найти все сообщения от pornoborets
 
Регистрация: 07.06.2015
Сообщений: 26

Сообщение от рони
цикл по существующим индексам forEach
тогда уж for
Ответить с цитированием
  #8 (permalink)  
Старый 07.06.2015, 16:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от pornoborets
тогда уж for
зачем проверять то чего нет?
Ответить с цитированием
  #9 (permalink)  
Старый 07.06.2015, 18:18
Интересующийся
Посмотреть профиль Найти все сообщения от pornoborets
 
Регистрация: 07.06.2015
Сообщений: 26

Сообщение от рони Посмотреть сообщение
зачем проверять то чего нет?
Чего нет? Индексов массива? Я отвлекся, потерял нить, уже. Забыл о чем вообще речь идет Я, собственно, к тому, что об оптимизации стоит вспоминать только тогда, когда есть узкие места.
Ответить с цитированием
  #10 (permalink)  
Старый 07.06.2015, 18:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от pornoborets
Чего нет? Индексов массива?
да нет индексов -- в данном случае нет индекса ноль
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery получить родителя и обратится к элементу внутри по class _Eldar_ Общие вопросы Javascript 6 05.04.2015 19:32
Как получить результат работы цикла в виде массива. Tungus Общие вопросы Javascript 29 08.12.2014 19:33
Помогу получить индекс элемента массива visman Javascript под браузер 7 03.05.2014 03:23
Получить значения ассоциативного массива по ключу TITO Общие вопросы Javascript 2 11.01.2014 16:42
Как получить последние несколько элементов массива? MyBigFriend Общие вопросы Javascript 3 23.10.2013 19:04