Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript替换除最后一个之外的所有_Javascript - Fatal编程技术网

Javascript替换除最后一个之外的所有

Javascript替换除最后一个之外的所有,javascript,Javascript,我有一个简短的问题 我有以下代码: $('.test').click(function (e) { e.preventDefault(); var arrayProducts = new Array(); $('.tableProducts').each(function(i) { if(typeof arrayProducts[i] == "undefined")

我有一个简短的问题

我有以下代码:

 $('.test').click(function (e)
    {
        e.preventDefault();
        var arrayProducts = new Array();

        $('.tableProducts').each(function(i)
        {
            if(typeof arrayProducts[i] == "undefined")
                arrayProducts[i] = new Array();
            $(this).find(':input').each(function(k)
            {
                if(k == 1)
                {
                    var test = $(this).val();
                    arrayProducts[i].push(test+":0:0.0000");
                }
                else{
                    arrayProducts[i].push($(this).val());
                }
            });

        });
        var string = arrayProducts.join("|");
        var productstring = string.replace(/,/g, ":");
        $('#optionstring').append(productstring);
    })
例如,结果是:
Opel:20:1:1:1:铃木:500:1:1:1

如您所见,该字符串是两种产品的组合(
Opel:20:1:1:1和Suzuki:500:1:1

是否有可能在每次输入后,都将“,”改为“:”,如下所示:

Opel:20:1:1:1,Suzuki:500:1:1:1
HTML:


选项:
标题:
输入类型:
必修的:
职位:
添加
删除
下降
单选按钮
复选框
多选
对
不
选项:
标题:
输入类型:
必修的:
职位:
添加
删除
下降
单选按钮
复选框
多选
对
不
SKU:
默认数量:
职位:
违约:
用户定义:
对
不
对
不
SKU:
默认数量:
职位:
违约:
用户定义:
对
不
对
不

创建选项 删除选项
Genereer字符串 通用产品
选项字符串:


您可以使用
RegExp
在正确的位置拆分字符串。在您的特殊情况下-在字母前面的每个冒号处拆分

替换:
var productstring=string.Replace(/,/g,“:”)

使用:
var productstring=string.split(/:(?=\D)/g.join(',')

var str='欧宝:20:1:1:1:铃木:500:1:1:1:1:马自达:6:1:1';

log(str.split(/:(?=\D)/g.join(',')假设您有一个带数组的数组,并且需要用冒号连接内部数组,您可以映射内部连接的数组并用逗号连接它

var cars=[['Opel',20,1,1,1],'Suzuki',500,1,1,1]],
string=cars.map(a=>a.join(“:”).join();

console.log(字符串)我假设看一下您的代码,您有一个如下所示的数组

var arrayProducts=[[Opel'、'20'、'1'、'1'、'1']、[Suzuki'、'500'、'1'、'1'、'1'];
var productstring='';
对于(arrayProducts的子对象){
productstring+=(productstring!=''?,'':'')+subar.join(':'')
}

log(productstring)//欧宝:20:1:1:1,铃木:500:1:1:1
因此您需要一个字符串作为输出?那么您想更改数组的
语法
?我想这很难。@Arg0n我想他期望的输出是字符串而不是数组文字。这没有意义。这是一个数组。你想要的是一个对象。不要改变数组的语法,不要改变数组的输出:虽然我不知道海报为什么想要这个,但这个答案确实提供了要求的结果。
<div class="container">
<div class="optiondiv">
    <table class="tableOptions">
        <tbody>
        <tr>
            <td><b>Option</b>:</td>
            <td><b>Title</b>:</td>
            <td><b>Input Type</b>:</td>
            <td><b>Required</b>:</td>
            <td><b>Position</b>: </td>
        </tr>
        <tr>
            <td>
                <button class="addproduct">Add</button>
                <button class="deleteProduct">Delete</button>
            </td>
            <td>
                <input type="text" class="title">
            </td>

            <td>
                <select class="input">
                    <option value="select">Drop-down</option>
                    <option value="radio">Radio Buttons</option>
                    <option value="checkbox">Checkbox</option>
                    <option value="multi">Multiple Select</option>
                </select>
            </td>
            <td>
                <select class="required">
                    <option value="1">Yes</option>
                    <option value="0">No</option>
                </select>
            </td>
            <td>
                <input type="text" class="position">
            </td>
        </tr>
        </tbody>
    </table>
    <table class="hiddenOption">
        <tbody>
        <tr>
            <td><b>Option</b>:</td>
            <td><b>Title</b>:</td>
            <td><b>Input Type</b>:</td>
            <td><b>Required</b>:</td>
            <td><b>Position</b>: </td>
        </tr>
        <tr>
            <td>
                <button class="addproduct">Add</button>
                <button class="deleteProduct">Delete</button>
            </td>
            <td>
                <input type="text" class="title">
            </td>

            <td>
                <select class="input">
                    <option value="select">Drop-down</option>
                    <option value="radio">Radio Buttons</option>
                    <option value="checkbox">Checkbox</option>
                    <option value="multi">Multiple Select</option>
                </select>
            </td>
            <td>
                <select class="required">
                    <option value="1">Yes</option>
                    <option value="0">No</option>
                </select>
            </td>
            <td>
                <input type="text" class="position">
            </td>
        </tr>
        </tbody>
    </table>
</div>
<div class="productdiv">
    <table class="tableProducts">
        <tbody>
        <tr>
            <td><b>SKU</b>:</td>
            <td><b>Default Quantity</b>:</td>
            <td><b>Position</b>:</td>
            <td><b>Default</b>:</td>
            <td><b>User defined</b>:</td>
        </tr>
        <tr>
            <td>
                <input type="text" class="sku">
            </td>
            <td>
                <input type="text" class="quantity">
            </td>
            <td>
                <input type="text" class="position">
            </td>
            <td>
                <select class="isDefault">
                    <option value="1">Yes</option>
                    <option value="0">No</option>
                </select>
            </td>
            <td>
                <select class="userdefined">
                    <option value="1">Yes</option>
                    <option value="0">No</option>
                </select>
            </td>
        </tr>
        </tbody>
    </table>
    <table class="hiddenTemplate">
        <tbody>
        <tr>
            <td><b>SKU</b>:</td>
            <td><b>Default Quantity</b>:</td>
            <td><b>Position</b>:</td>
            <td><b>Default</b>:</td>
            <td><b>User defined</b>:</td>
        </tr>
        <tr>
            <td>
                <input type="text" class="sku">
            </td>
            <td>
                <input type="text" class="quantity">
            </td>
            <td>
                <input type="text" class="position">
            </td>
            <td>
                <select class="isDefault">
                    <option value="1">Yes</option>
                    <option value="0">No</option>
                </select>
            </td>
            <td>
                <select class="userdefined">
                    <option value="1">Yes</option>
                    <option value="0">No</option>
                </select>
            </td>
        </tr>
        </tbody>
    </table>
</div>
<hr class="hr">
<button class="addOption">Create option</button>
<button class="deleteOption">Delete option</button>
<hr>
<button class="generateString">Genereer string</button>
<button class="test">Genereer products</button>
<hr>
<label>
    Optionstring:<p id="optionstring"></p>
</label>