Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сложение елементов массива (https://javascript.ru/forum/misc/76600-slozhenie-elementov-massiva.html)

uL9 25.01.2019 14:01

Сложение елементов массива
 
Подскажите , обьясните пожалуйста , сначала я через 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>

рони 25.01.2019 14:03

Цитата:

Сообщение от uL9
var f= +document.getElementById("inp").value;

Пожалуйста, отформатируйте свой код!

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

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

ksa 25.01.2019 14:08

Цитата:

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

В твоем случае разность... :D

Найди несколько различий. ;)
<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>

uL9 25.01.2019 14:22

спасибо , а можете обьяснить почему в моем варианте не работает ?

uL9 25.01.2019 14:24

я так понимаю если сделать g.unshift(+f); то работать будет ?

Dilettante_Pro 25.01.2019 15:54

Будет
<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>

j0hnik 25.01.2019 19:09

Цитата:

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

input.value возвращает тип string (строка), строки при сложении просто конкатенируются, почитайте про преобразование типов.

laimas 25.01.2019 21:07

Цитата:

Сообщение от uL9
сделать g.unshift(+f)

Это принципиально добавлять в начало? Это ведь весь массив перетряхиваться будет.


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