javascript - 如何用字符串连接数组的每个元素

标签 javascript

在 html 中:<span class="cart-prize">30.00</span>

const total = [];
const items = document.querySelectorAll('.cart-prize'); //item price displaying on the cart when cart popups


 items.forEach(function(item)
 {               
     total.push(parseFloat(item.textContent)).toFixed(2); 
 });



const totalMoney = total.reduce((accumulator, EachArrayValue) 
  => accumulator + EachArrayValue); 

items.forEach((each) => each = "$"+ each.textContext);

document.getElementById("totalMoney").textContent = 
"$"+totalMoney; //works ok

document.getElementById("itemTotal").textContent = 
total.length + " items"; //works ok

在使用这里的 reduce 方法对总数组中的所有价格元素求和后,我尝试将“$”字符串与“cart-prize”的每个文本内容相连接:

items.forEach((each) => each = each.textContext + "$");

但没有成功,购物车上只显示 float ,没有美元符号

我不知道我在哪里犯了错误。这种方法有问题吗:items.forEach((each) => each = "$" + each.textContext);

最佳答案

你失去了对原始 each 对象的引用,这个覆盖

items.forEach((each) => each = "$"+ each.textContext);

你应该尝试使用标准的 for 循环

for (let i = 0; i < items.length; i++) {
    items[i] = "$"+ items[i].textContext;
}

关于javascript - 如何用字符串连接数组的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54311063/

相关文章:

javascript - 切换开关以禁用和启用链接

javascript - 使用子文件夹 html 文件访问父文件夹 html 文件

javascript - HTML/Javascript/CSS 桌面应用程序

javascript - Bootstrap 4 填写表单时实时表单验证

javascript - 检查时间是否大于一天中的特定时间

JavaScript/jQuery : How to make sure cross-domain click tracking event succeeds before the user leaves the page?

javascript - 在angularJS中使用动态数组填充复选框

javascript - AngularJS - 禁用 $exceptionHandler

javascript - visual studio code JavaScript 代码补全

javascript - 如何像ng-click一样在ng-model中传递参数