Javascript.RU

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

Сложение елементов массива
Подскажите , обьясните пожалуйста , сначала я через unpush добавляю елементы в массив ? потом с этими елементами пытаюсь сделать , простейщую мат операцию сложения , ну вместо того, что бы показать суму этих двуч чисел , оно просто выводит два этих числа .
https://www.w3schools.com/code/tryit...e=FZJ25HN7LUHU
<!DOCTYPE html>
<html>

<body>
<div>
<input id="inp"></input>
<button onclick=test1()>plus element</button>
<button onclick=test2()>=</button>
<p id="tx"></p>
<p id="tx2"></p>
</div>
<script>
var g=[];
function test1(){
var a=document.getElementById("tx");
var f=document.getElementById("inp").value;
g.unshift(f);
a.innerHTML=g;
}
function test2(){
var t=document.getElementById("tx2");
var sum = g[0]-g[2];
t.innerHTML=sum;
}
</script>
</body>

</html>
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2019, 14:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сообщение от uL9
var f= +document.getElementById("inp").value;
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2019, 14:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от uL9
пытаюсь сделать , простейщую мат операцию сложения
В твоем случае разность...

Найди несколько различий.
<div>
	<input id="inp"></input>
	<button onclick='test1();'>plus element</button>
	<button onclick='test2();'>=</button>
	<p id="tx"></p>
	<p id="tx2"></p>
</div>
<script>
var g=[];
function test1(){
	var a=document.getElementById("tx");
	var f=document.getElementById("inp").value;
	g[g.length]=+f;
	a.innerHTML=g;
}
function test2(){
	var t=document.getElementById("tx2");
	var sum = g[0]+g[1];
	t.innerHTML=sum;
}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2019, 14:22
uL9 uL9 вне форума
Новичок на форуме
Отправить личное сообщение для uL9 Посмотреть профиль Найти все сообщения от uL9
 
Регистрация: 25.01.2019
Сообщений: 5

спасибо , а можете обьяснить почему в моем варианте не работает ?
Ответить с цитированием
  #5 (permalink)  
Старый 25.01.2019, 14:24
uL9 uL9 вне форума
Новичок на форуме
Отправить личное сообщение для uL9 Посмотреть профиль Найти все сообщения от uL9
 
Регистрация: 25.01.2019
Сообщений: 5

я так понимаю если сделать g.unshift(+f); то работать будет ?
Ответить с цитированием
  #6 (permalink)  
Старый 25.01.2019, 15:54
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Будет
<div>
	<input id="inp"></input>
	<button onclick='test1();'>plus element</button>
	<button onclick='test2();'>=</button>
	<p id="tx"></p>
	<p id="tx2"></p>
</div>
<script>
var g=[];
function test1(){
	var a=document.getElementById("tx");
	var f=document.getElementById("inp").value;
	g.unshift(+f);
	a.innerHTML=g;
}
function test2(){
	var t=document.getElementById("tx2");
	var sum = g[0]+g[1];
	t.innerHTML=sum;
}
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 25.01.2019, 19:09
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от uL9
простейщую мат операцию сложения , ну вместо того, что бы показать суму этих двуч чисел , оно просто выводит два этих числа .
input.value возвращает тип string (строка), строки при сложении просто конкатенируются, почитайте про преобразование типов.
Ответить с цитированием
  #8 (permalink)  
Старый 25.01.2019, 21:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от uL9
сделать g.unshift(+f)
Это принципиально добавлять в начало? Это ведь весь массив перетряхиваться будет.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите , элементы массива по порядку из другого массива Rost_shat Javascript под браузер 9 28.07.2018 20:03
Обход многомерного массива с задержкой после каждого цикла Walk Общие вопросы Javascript 2 14.08.2017 16:17
Помогите к js коду, написать html код Modrih Элементы интерфейса 8 16.06.2015 18:08
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31
Изменение значения массива елементов ur5fdg Элементы интерфейса 4 21.10.2013 09:10