如何在Javascript中将节点值列表合并到一个数组中?

如何在Javascript中将节点值列表合并到一个数组中?,javascript,arrays,Javascript,Arrays,我在将节点值列表合并到一个数组中时遇到问题。我希望有一个值数组,并在单击按钮时更新它 我使用了forEach方法,然后在其中嵌套了Array.from()方法的函数。 我得到了一些数组,其数量取决于我有多少个节点 html代码: <li> <button class="add">+</button> <span class="amount" id = "amount0">0</span> <button class="

我在将节点值列表合并到一个数组中时遇到问题。我希望有一个值数组,并在单击按钮时更新它

我使用了forEach方法,然后在其中嵌套了Array.from()方法的函数。 我得到了一些数组,其数量取决于我有多少个节点

html代码:

<li>
  <button class="add">+</button>
  <span class="amount" id = "amount0">0</span>
  <button class="substract">-</button>
</li>
<li>
  <button class="add">+</button>
  <span class="amount" id = "amount1">0</span>
  <button class="substract">-</button>
</li>
此代码在控制台中返回两个节点

<span class="amount" id = "amount">0</span>
这是最新的。 但是,如果值的数量大于10,则数组开始将十的数量和单位的数量划分为数组中的两项,如:

["1","0"]
但我想买一件东西[“10”]。 节点的值正在正确更新

函数添加量(el){
让数量,调整数量;
if(el.classList.contains(“add”)){
调整金额=1;
amountElement=el.nextElementSibling;
}否则{
调整金额=-1;
amountElement=el.previouselement同级;
}
如果(amountElement.innerText>=0){
amountElement.innerText=
parseInt(amountElement.innerText)+adjustAmount;
}否则{
amountElement.innerText=0;
}
}
函数有序(){
const amount=document.queryselectoral(“.amount”);
金额。forEach(函数(订单){
让myArray=Array.from(order.innerText);
log(myArray);
控制台日志(订单);
});
}
文件。添加文件列表(“点击”,订购);
document.addEventListener('click',e=>{
如果(e.target.tagName==“按钮”){
增加金额(如目标);
}否则{
console.log(e.target.tagName);
}
});
  • + 0 -
  • + 0 -
  • 只需在数组中推送值并将其联接即可。像这样试试

    函数添加量(el){
    让数量,调整数量;
    if(el.classList.contains(“add”)){
    调整金额=1;
    amountElement=el.nextElementSibling;
    }否则{
    调整金额=-1;
    amountElement=el.previouselement同级;
    }
    如果(amountElement.innerText>=0){
    amountElement.innerText=
    parseInt(amountElement.innerText)+adjustAmount;
    }否则{
    amountElement.innerText=0;
    }
    }
    函数有序(){
    const amount=document.queryselectoral(“.amount”);
    var单位=[];
    金额。forEach(函数(订单){
    让myArrays=Array.from(order.innerText);
    单位推送(MyArray);
    控制台日志(订单);
    });
    控制台日志(单元连接(“”));
    }
    document.addEventListener('click',e=>{
    如果(e.target.tagName==“按钮”){
    增加金额(如目标);
    }否则{
    console.log(e.target.tagName);
    }
    });
    文件。添加文件列表(“点击”,订购)
    
  • + 0 -
  • + 0 -
  • 你能用你的代码制作一个片段吗?这是带有
    的菜单。我试试看。以前从来没做过。这不是我想要的。问题是,当一个值达到10时,它开始表现得像一个数组获取两个项。我需要买一件价值10的东西。
    ["0"]
    
    ["1","0"]