Самое большое число (название файла)



  • Всем доброе время суток.

    Есть папка в которой находятся картинки с 1.png до 22.png, надо получить номер последний картинки.

    Изначально я думал собрать все в масив и взять с него последний элемент, однако после 1вой картинки пошла 11тая, после 12тая и тп, а уже после 19той пошла вторая.

    Буду признателен за помощь в решении данной задачи.



  • @mmaxsmile said in Самое большое число (название файла):

    Всем доброе время суток.

    Есть папка в которой находятся картинки с 1.png до 22.png, надо получить номер последний картинки.

    Изначально я думал собрать все в масив и взять с него последний элемент, однако после 1вой картинки пошла 11тая, после 12тая и тп, а уже после 19той пошла вторая.

    Буду признателен за помощь в решении данной задачи.

    https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Math/max

    Math.max.apply(null, [[NEW_LIST]])
    


  • @Fox наверное глупый вопрос, но куда сохраняется результат? (самое большое число), ибо как я проверил переменную он не изменяет (текущую))



  • @mmaxsmile Номер или имя? Этот код вернет имя

    [[NAME_MAX]] = [[NEW_LIST]].reduce(function(max,value){
        return parseInt(value)  > parseInt(max)? value: max;
    })
    

    Если только цифры Тогда можно добавить

    [[NAME_MAX]] = parseInt([[NAME_MAX]] )
    


  • @UserTrue только цифры, однако в масиве хранятся именно пути к файлам, и по какой то причине код выдает самый первый элемент



  • @mmaxsmile Эм. Ну вот максимально универсально, должен работать

    [[NAME_MAX]] = [[NEW_LIST]].reduce(function(max,value){
        value = parseInt(value.split(/[\/\\]/).pop());
        max = parseInt(max.split(/[\/\\]/).pop());
        return value > max? value: max;
    })


  • @UserTrue SyntaxError: Parse error во время выполнения действия 767822936



  • @mmaxsmile Попробуйте еще раз. Наверное скопировали код до того как я его подправил, просто форум сожрал некоторые символы



  • @UserTrue теперь появилась вот такая ошибка: TypeError: Result of expression 'max.split' [undefined] is not a function. во время выполнения действия 743092893



  • @mmaxsmile Черт! xD

    [[NAME_MAX]] = [[NEW_LIST]].reduce(function(max,value){
        value = parseInt(value.split(/[\/\\]/).pop());
        if(isNaN(max) ){
          max = parseInt(max.split(/[\/\\]/).pop());
        } 
        return value > max? value: max;
    })
    


  • @UserTrue ура) заработало


Log in to reply
 

  • 2
  • 10
  • 2
  • 7
  • 4
  • 9
  • 2
  • 13