<body>
<textarea name="ta" id="textarea" cols="30" rows="10" value= "">45, 85, 75, 6, 5,</textarea> <br>
<button type= "button", onclick ="getMinOfArray(Array)">MINIMUM</button><br><br><br>
<button type="button", onclick ="getMaxOfArray(Array)">MAXIMUM</button><br />
<script type= "text/javascript">
var Array = parceInt(document.getElementById("textarea").value);
function getMinOfArray(numArray) {
document.write ("Cамая маленькая цыфра в массиве: " + Math.min.apply(null, numArray));
}
function getMaxOfArray(numArray) {
document.write("Cамая большая цыфра в массиве: " + Math.max.apply(null, numArray));
}
</script>
</body>
В коде можно выделить несколько ошибок:
parceInt
, есть parseInt
Array
, совпадающее со встроенным классом Array
textarea
всего один раз при загрузке страницы.Вместо этого нужно из строки, полученной от textarea (document.getElementById("textarea").value
) вытащить нужные числа, например с помощью match: document.getElementById("textarea").value.match(/(\d+)/g)
К результату можно сразу применить функции min
/max
, так как они сами пытаются преобразовать свои аргументы к числам.
В итоге может получиться следующее:
function getMinOfArray(numArray) {
var numbers = document.getElementById("textarea").value.match(/\d+/g) || []; //на случай если чисел нет
document.write("Самая маленькая цифра в массиве: " + Math.min(...numbers));
}
function getMaxOfArray(numArray) {
var numbers = document.getElementById("textarea").value.match(/\d+/g) || []; //на случай если чисел нет
document.write("Самая большая цифра в массиве: " + Math.max(...numbers));
}
<textarea name="ta" id="textarea" cols="30" rows="10" value="">45, 85, 75, 6, 5,</textarea> <br>
<button type="button" , onclick="getMinOfArray()">MINIMUM</button><br><br><br>
<button type="button" , onclick="getMaxOfArray()">MAXIMUM</button><br />
<script type="text/javascript">
</script>
Всегда полученные значения из полей формы имеют тип string
.
Посмотрите как преобразуется массив в javascript
тут
Вот пример рабочего кода, но оно будет нормально работать если после каждой написанной цифры вставить одинаковый разделитель, у нас это будет ,
.
Код работает так, разделяет value
на ,
, и получается массив у которого типы элементов string
, потом явно преобразуем типы элементов в массиве, и после этого только передаем в функцию.
<textarea name="ta" id="textarea" cols="30" rows="10" value= "">45, 85, 75, 6, 5</textarea> <br>
<button type= "button", onclick ="getMinOfArray(Array)">MINIMUM</button><br><br><br>
<button type="button", onclick ="getMaxOfArray(Array)">MAXIMUM</button><br />
<script type= "text/javascript">
var Array = document.getElementById("textarea").value;
Array = Array.split(', ');
for(var i=0; i<Array.lengt;i++){
Array[i] = parseFloat(Array[i]);
}
function getMinOfArray(numArray) {
document.write ("Cамая маленькая цыфра в массиве: " + Math.min.apply(null, numArray));
}
function getMaxOfArray(numArray) {
document.write("Cамая большая цыфра в массиве: " + Math.max.apply(null, numArray));
}
</script>
Нужно грамотно преобразовать полученные данные из массива в числа, и после этого их перебирать
<body>
<textarea name="ta" id="textarea" cols="30" rows="10" value= "">45, 85, 75, 6, 5</textarea> <br>
<button type= "button", onclick ="getMinOfArray()">MINIMUM</button><br><br><br>
<button type="button", onclick ="getMaxOfArray()">MAXIMUM</button><br />
<script type= "text/javascript">
function getMinOfArray() {
let arr = document.getElementById("textarea").value.split(', ');
document.write ("Cамая маленькая цыфра в массиве: " + Math.min.apply(null, arr));
}
function getMaxOfArray() {
let arr = document.getElementById("textarea").value.split(', ');
document.write("Cамая большая цыфра в массиве: " + Math.max.apply(null, arr));
}
</script>
</body>
<body>
<textarea name="ta" id="textarea" cols="30" rows="10" value= "">45, 85, 75, 6, 5</textarea> <br>
<button type= "button", onclick ="getNumber('min', 'Cамая маленькая цыфра в массиве: ')">MINIMUM</button><br><br><br>
<button type="button", onclick ="getNumber('max', 'Cамая большая цыфра в массиве: ')">MAXIMUM</button><br />
<script type= "text/javascript">
function getNumber(mode, comment) {
var method = Math[mode];
if (!method) return;
var arr = document.getElementById("textarea")
.value
.split(',')
.map(function(value){
return parseInt(value);
});
document.write ((comment || '') + method.apply(null, arr));
}
</script>
</body>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите, возможно ли в textarea или input-е сделать так, чтобы при достижении правого борта (то есть границы поля), после того, как идет перенос...
Как записать правильно? А то удаляет только если есть последний пример
Парсю страницы госзакупок, использую CURL, после некоторого промежутка времени сайт не пускает, выдает 403 ошибкуМожно ли как то избежать этого?...
недано начал изучать Php, в скрипте встретил такую конструкцию