Поскольку я могу считать повторенные цифры числа в javascript [закрывшая]

Как я могу считать повторенные цифры числа, попавшего в prompt в javascript?

А именно, они просят у меня, когда пользователь введет число в prompt, определять все разы номер "1" он повторяется в вышеупомянутом числе, и если нет номера "1" говорить, что нет.

Если кто-то мог объяснять мне, как делание этого серьезным большого количества помощи.

PD: извините мое неведение!

1
задан 26.03.2016, 04:42
2 ответа

Я предполагаю, что это не "реальная" проблема а упражнение циклов, в этом случае я предполагаю, что ответ, который они ожидаются, похож на это:

    <!DOCTYPE html>
<div id=out></div>
<script>
    var entrada=prompt("Introduce datos");
    var busqueda="1";
    var contador=0;
    for (var i=0; i<entrada.length; i++) if (entrada[i]==busqueda) contador++;
    var respuesta;
    if (contador==0) respuesta="No se ha encontrado '"+busqueda+"'.";
    else if (contador==1) respuesta="'"+busqueda+"' se ha encontrado 1 vez.";
    else respuesta="'"+busqueda+"' se ha encontrado "+contador+" veces.";
    out.innerHTML = respuesta;
</script>

Идея состоит в том, что, ввод считается "string", где он относится друг к другу как array характеров, так что только нужно пробегать все Ваши положения считая все разы появляется искавший характер.
В "реальных" проблемах более короткое и полезное использовать regex.

2
ответ дан 24.11.2019, 14:41

Ты можешь использовать REGEX для этого намерения, например:

<html>
<body>
<p>Encuentra coincidencias en una cadena de caracteres.</p>
<button onclick="myFunction()">calcula</button>
<p id="demo"></p>

<script>
function myFunction() {
    var str = prompt("Introduce un numero", "");

    if (str != null) {
       alert("en "+ str +" el numero 1 se repite " + cuenta(str) +" veces."); 
    }
}

function cuenta(str) {  
str = str.replace(/[^1]/g, "").length  
return str;
}

</script>

</body>
</html>

Этот пример ты вводишь string и он покажет тебе все те "1" они находятся в тексте, который ты вводишь:

в 13211 номер 1 повторяется 3 раза.

Если ты хочешь искать любое число (или символ) ты можешь получать посредством prompt число, где он хочет искаться и в другом, который ты хочешь искать, так как ты можешь создавать твой REGEX, согласно которому ты хочешь искать:

<script>

var coincidencia;

function myFunction() {
    var str = prompt("Introduce una cadena:", "");
    coincidencia = prompt("Introduce el caracter a buscar:", "");

    if (str != null) {
       alert("en "+ str +" el numero " + coincidencia + " se repite " + cuenta(str) +" veces."); 

    }
}

function cuenta(str) {  
var regex = new RegExp("[^"+ coincidencia +"]","g");
str = str.replace(regex, "").length  
return str;
}

</script>

Я добавляю пример здесь.

2
ответ дан 24.11.2019, 14:41

Теги

Похожие вопросы