使用javascript汇总html字符串数字

时间:2017-07-24 03:48:38

标签: javascript html

您好我有一个函数可以使用以下格式返回<p>标记内的数字:

<p class="numbers">123 + 456 + 789</p>

有什么方法可以用javascript中的其他函数或其他东西来总结所有数字并将其存储到变量中?

谢谢!

4 个答案:

答案 0 :(得分:3)

// Grab the element
const para = document.querySelector('.numbers');

// Convert the text content to an array and
// make the text number values into actual numbers
const numbers = para.textContent.split(' + ').map(Number);

// Use `reduce` to sum the numbers
const total = numbers.reduce((p, c) => p + c);

DEMO

答案 1 :(得分:1)

这应该这样做:

var string = "<p class="numbers">123 + 456 + 789</p>";
var numbers = string.split(">")[1].split("<")[0].split("+");
var i = 0;
var sum = 0;
while(i < numbers.length){
    sum += parseInt(numbers[i]);
    i += 1;
}
return sum;

答案 2 :(得分:1)

您可以使用Array.prototype.reduce()

var n = document.querySelector(".numbers").textContent;

var nums = n.replace(/\s/g, "").match(/^\d+|[+-]\d+/g);

var res = nums.reduce((a, b) => Number(a) + Number(b));

document.body.innerHTML += `=${res}`;
<p class="numbers">123 + 456 + 789</p>

答案 3 :(得分:0)

var x = document.querySelector('。numbers')。textContent.split(“+”)。map(Number);

var y = x.reduce(function(add,num){return add + num})

的console.log(Y);