Javascript 获取选中的元素并用逗号分隔,最后一个元素用“分隔”;及;

Javascript 获取选中的元素并用逗号分隔,最后一个元素用“分隔”;及;,javascript,html,arrays,forms,Javascript,Html,Arrays,Forms,我想得到选中的元素,并用逗号分隔它们,最后一个元素用“and”分隔 其输出显示为: 我想删除最后一个元素后面的逗号(,),并在其前面添加“and” Sugar, Milk and Extra chocolate 或者,如果选择了两个: Sugar and Milk 我的代码:- 转让1 函数genresult(){ //名字 var name=document.getElementById(“cname”).value; //选择饮料 var seldain=“”; var drink

我想得到选中的元素,并用逗号分隔它们,最后一个元素用“and”分隔

其输出显示为:

我想删除最后一个元素后面的逗号(,),并在其前面添加“and”

Sugar, Milk and Extra chocolate
或者,如果选择了两个:

Sugar and Milk
我的代码:-


转让1
函数genresult(){
//名字
var name=document.getElementById(“cname”).value;
//选择饮料
var seldain=“”;
var drinks=document.getElementsByName(“饮料”);
对于(变量i=0;i<0.length;i++)
{
如果(饮料[i]。已选中){
seldrink=饮料[i]。价值;
打破
}
}
//附加组件
var addons=“”;
var addns=document.getElementsByName(“addons”);
对于(变量i=0;i\
带有“+插件+”
\ 将按“+支付+”支付; document.getElementById(“结果”).innerHTML=final; } #结果{ 填充:20px; 边框:1px实心#e5; 背景:#FAD160; 字体大小:20px; } #结果跨度{ 颜色:#FFFFFF; 字体大小:粗体; 文字装饰:下划线; 文本转换:大写; } 订单详情 输入您的姓名 选择你的饮料 咖啡 茶叶 巧克力饮料 选择附加组件 加糖 加牛奶 加巧克力 选择付款方式 信用卡 借记卡 现金

订单详情如下:


我建议使用数组来完成此任务

首先,收集数组中的所有项。然后获取最后两个元素,并使用
和'
将它们连接起来,将其作为最后一个元素放回数组中,然后使用
将所有元素连接起来,'
以获得一个漂亮的字符串

方法

  • ,联接两个数组并返回一个新数组

  • ,用于获取数组的最后两个元素

  • ,将数组与给定的间隔符联接

此方案适用于任意长度的数组,即使有一个或两个元素

var数组=['tea'、'milk'、'蜂蜜'],
string=array.concat(array.splice(-2,2).join('and')).join(',');

console.log(字符串)我首先获取选中项的所有值,并将它们存储在一个数组中。然后,我将根据数组中的项数,使用join方法将数组转换为字符串

var addns= Array.prototype.slice.call(document.getElementsByName("addons")).filter(function(el) {
            return el.checked; 
          }).map(function(el){ return el.value});

        if(addns.length) {
            if(addns.length === 2) addns = addns.join(" and ");
            else if(addns.length > 2) {
            addns.splice(-2, 2, addns[addns.length-2]+ " and " + addns[addns.length -1]);
            addns = addns.join(", ")      
          }
          addns = "With " + addns; 
        }

请同时添加您的代码。添加的代码..谢谢