您好我有一个函数可以使用以下格式返回<p>
标记内的数字:
<p class="numbers">123 + 456 + 789</p>
有什么方法可以用javascript中的其他函数或其他东西来总结所有数字并将其存储到变量中?
谢谢!
答案 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);
答案 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);