Как сложить/разделить 2 цифры?
Всем привет. Подскажите, как в числе, допустим, a = 12, сложить между собой 1 и 2, чтобы получилось 3?
И как разделить цифру на 2 числа? Допустим, b = 13. Тогда нужно получить 1 и 3. |
monsterito,
function foo(a) { return [].reduce.call(a + "", function(a, b) { return a + +b }, 0) }; alert(foo(12)); alert(foo(13)); |
рони, спасибо, но мне функция не совсем подходит.
У меня есть 4 строки и 4 ряда в таблица. В 4-й cтроке мне нужно записывать сумму первых трех строк(допустим, 4+5+6 = 15. 15 я записываю в 4-ую строку. И у меня условие, если конечное число не равно 12, то мне нужно сложить 1+5 и получить 6. А так как у меня 4 ряда, то для каждой 4-й строки мне нужно просчитывать все. Как сделать это? |
var n = '456'; alert( eval(n.split('').join('+')) ); |
Цитата:
|
рони,
Есть строка - tr. В ней находится 3 ячейки - td. В каждой ячейке td есть цифры. Пускай будет: 1 ячейка = цифра 1, 2 ячейка - цифра 10, 3 ячейка = цифра 4. В сумме мы получаем 15. И так, у нас в сумме получилась цифра 15. По моему условию, если сумма превысила значение 12, то мы 15 сложим как 1+5 и в конечной сумме получим 6. Вот и вся суть. Как такое сделать? |
Вы уже можете самостоятельно это сделать. Как разбить число на цифры вам показали.
Но конечно же рони в ближайшее время что-нибудь смастерит для вас...скорее всего) |
monsterito,
рисуйте вашу таблицу |
рони, https://jsfiddle.net/u3fk50uu
И еще, числ, например, 99 складывается с собой = 9+9. Т.е., если число больше 12 в ячейке = оно складывается между собой |
monsterito,
а если числа нет? |
рони, значит 0.
|
monsterito,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <table rules="all" cellspacing="10" cellpadding="10" style="margin-top:20px; border: 1px solid rgba(81, 71, 71, 0.24);"> <tbody> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">111</p> <p class="stp">характер,</p> <p class="stp">сила воли</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">22</p> <p class="stp">энергетика,</p> <p class="stp">харизма</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">333</p> <p class="stp">познание,</p> <p class="stp">творчество</p> </td> <td width="120px" height="110px"> <p class="pifagor-char"></p> </td> </tr> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp">здоровье,</p> <p class="stp">красота</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">5</p> <p class="stp">логика,</p> <p class="stp">интуиция</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp">трудолюбие,</p> <p class="stp">мастерство</p> </td> <td width="120px" height="110px"> <p class="pifagor-char"></p> </td> </tr> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp">удача,</p> <p class="stp">везение</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">8</p> <p class="stp">чувство</p> <p class="stp">долга</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">99</p> <p class="stp">память,</p> <p class="stp">ум</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">-</p> </td> </tr> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">10</p> <p class="stp"></p> <p class="stp"></p> </td> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp"></p> <p class="stp"></p> </td> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp"></p> <p class="stp"></p> </td> <td width="120px" height="110px"> <p class="pifagor-char"></p> </td> </tr> </tbody> </table> <table> <script> (function() { function d(b) { return [].reduce.call(b + "", function(a, b) { return a + +b }, 0) } [].forEach.call(document.querySelectorAll("tr"), function(b) { var a = [].slice.call(b.querySelectorAll(".pifagor-char")); b = a.pop(); a = a.reduce(function(a, b) { var c = +b.innerHTML || 0; 12 < c && (c = d(c)); return a + c }, 0); b.innerHTML = 12 < a ? d(a) : a }) })(); </script> </table> </body> </html> |
рони, спасибо, но у меня-что не работает. У меня эта сумма должна складываться после нажатия по кнопке, а не изначально. Изначально там по нулям. Я вешаю событие на id, но ничего не считает и не показывает
|
Цитата:
|
рони, прошу https://jsfiddle.net/u3fk50uu/1/
|
monsterito,
ой а у меня работает :lol:https://jsfiddle.net/u3fk50uu/3/ и даже так работает :lol: <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <table rules="all" cellspacing="10" cellpadding="10" style="margin-top:20px; border: 1px solid rgba(81, 71, 71, 0.24);"> <tbody> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">111</p> <p class="stp">характер,</p> <p class="stp">сила воли</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">22</p> <p class="stp">энергетика,</p> <p class="stp">харизма</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">333</p> <p class="stp">познание,</p> <p class="stp">творчество</p> </td> <td width="120px" height="110px"> <p class="pifagor-char"></p> </td> </tr> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp">здоровье,</p> <p class="stp">красота</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">5</p> <p class="stp">логика,</p> <p class="stp">интуиция</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp">трудолюбие,</p> <p class="stp">мастерство</p> </td> <td width="120px" height="110px"> <p class="pifagor-char"></p> </td> </tr> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp">удача,</p> <p class="stp">везение</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">8</p> <p class="stp">чувство</p> <p class="stp">долга</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">99</p> <p class="stp">память,</p> <p class="stp">ум</p> </td> <td width="120px" height="110px"> <p class="pifagor-char">-</p> </td> </tr> <tr align="center"> <td width="120px" height="110px"> <p class="pifagor-char">10</p> <p class="stp"></p> <p class="stp"></p> </td> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp"></p> <p class="stp"></p> </td> <td width="120px" height="110px"> <p class="pifagor-char">—</p> <p class="stp"></p> <p class="stp"></p> </td> <td width="120px" height="110px"> <p class="pifagor-char"></p> </td> </tr> </tbody> </table> <table> <input id="tuk" name="" type="button" value="go"> <script> (function() { function d(b) { return [].reduce.call(b + "", function(a, b) { return a + +b }, 0) } window.addEventListener('DOMContentLoaded', function() { document.querySelector("#tuk").addEventListener("click", function() { [].forEach.call(document.querySelectorAll("tr"), function(b) { var a = [].slice.call(b.querySelectorAll(".pifagor-char")); b = a.pop(); a = a.reduce(function(a, b) { var c = +b.innerHTML || 0; 12 < c && (c = d(c)); return a + c }, 0); b.innerHTML = 12 < a ? d(a) : a }) }); }); })(); </script> </table> </body> </html> |
рони, хм.... но почему у меня не работает)
Так, я вроде понял почему не работает. Это из-за кода, который находится в return в моем коде. https://jsfiddle.net/u3fk50uu/4/ - посмотрите всего. Да, он очень плохой по виду, но помогите разобраться почему не работает |
monsterito,
потому что нужна готовность страницы и загруженная библиотека jquery, либо вариант выше без jquery. |
рони, посмотрите выше. Обновил. Была загружена библиотека на локали. Не работало. Почему? Выше написал
|
monsterito,
вы убрали из последней ячейки всё куда вставлялся результат. поэтому так $("#go-pif").click(function(){ $("#out").html(mainFunction()); function d(b) { return [].reduce.call(b + "", function(a, b) { return a + +b }, 0) } [].forEach.call(document.querySelectorAll("tr"), function(b) { var a = [].slice.call(b.querySelectorAll(".pifagor-char")); b = b.querySelector("td:last-child"); a = a.reduce(function(a, b) { var c = +b.innerHTML || 0; 12 < c && (c = d(c)); return a + c }, 0); b.innerHTML = 12 < a ? d(a) : a }); }); |
рони, еще раз спасибо огромное!
|
monsterito,
я пас |
рони, я понял. в любом случае спасибо
|
Часовой пояс GMT +3, время: 12:06. |