Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Дано символьный массив. Найдите в массиве последний элемент, являющийся цифрой, если (https://javascript.ru/forum/dom-window/80445-dano-simvolnyjj-massiv-najjdite-v-massive-poslednijj-ehlement-yavlyayushhijjsya-cifrojj-esli.html)

dertTtt1 05.06.2020 14:33

Дано символьный массив. Найдите в массиве последний элемент, являющийся цифрой, если
 
Дано символьный массив. Найдите в массиве последний элемент, являющийся цифрой, если цифры есть в массиве.

как записать это в коде ?

laimas 05.06.2020 14:39

Если символы, это так ['a', '1', 'b', '3', '8', 'c'] или же все-таки так ['a', 1, 'b', 3, 8, 'c']?

Malleys 06.06.2020 00:25

dertTtt1,
var a = "a1b38c";

for(var i = a.length - 1; i >= 0; i--)
	if(a[i] >= '0' && a[i] <= '9') break;

if(i == -1) {
	console.log("Нету цифр");
} else {
	console.log(`Последняя цифра '${a[i]}' имеет индекс ${i}`);
}


Цитата:

Сообщение от laimas
или же все-таки так ['a', 1, 'b', 3, 8, 'c']?

Это символьный массив?

laimas 06.06.2020 03:02

Самому интересно что этим назвали, в рамках шрифта, все символы.
Хотя, согласен, что скорее бы тот кто ставил задачу выразился бы правильно в таком случае - массив символов. Но фиг его знает, тут сколько учеников о задачках писали, в которых больше времени тратилось на их трактовку.
В общем, мне все равно интересно - что.

Error 06.06.2020 21:37

Можно найти то или другое:
function finder(array) {
  const digits = [...Array(10).keys()],
    last = array
      .reverse()
      .findIndex(
        (el) => digits.includes(el) || digits.map(String).includes(el)
      );
  return last >= 0 ? array[last] : "таких нет!";
}
alert(finder(["i", 7, "8"]));


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