【问题标题】:How to make array for a .push function. Getting "typeError: .push is not a function"?如何为 .push 函数制作数组。获取“typeError:.push 不是函数”?
【发布时间】:2019-12-03 19:50:56
【问题描述】:

我无法理解我的代码是如何导致错误的。发出错误的行是

queryParts.push("&" + param + "=");

我可以看到它插入了一个数组,但我不明白如何使它成为一个箭头并推动。

function urlBuilder(param, paramValue){
                base_url = $('.service-container').data('base_url');
                var fullurl = window.location.href;
                var urlStart = fullurl.split("?").length > 1 ? fullurl.split("?")[0] : null;
                var urlQuery = fullurl.split("?").length > 1 ? fullurl.split("?")[1] : null;

                if (urlQuery) {
                    var queryParts = urlQuery.split('&');
                    for (var i = 0; i < queryParts.length; i++)
                    {
                        console.debug('query part: ', queryParts[i]);
                        if (queryParts[i].includes(param)) {
                            if (paramValue === null) {
                                queryParts.splice(i, 1);
                                } else {
                                    queryParts = "?" + param + "=" + paramValue;
                                }
                            } else {
                            queryParts.push("&" + param + "=");
                            } 
                        }
                        var rtnUrl = urlStart + queryParts.join("&");
                    return rtnUrl;
                    }else {
                        return base_url + '?' + param + '=' + paramValue;
                    }
            }

【问题讨论】:

    标签: javascript html arrays error-handling dom-events


    【解决方案1】:

    你会的

    queryParts = "?" + param + "=" + paramValue;
    

    此后,queryParts 不再是数组。

    你可能想要

    queryParts.push( "?" + param + "=" + paramValue);
    

    【讨论】:

      【解决方案2】:

      这一行使您的queryParts 成为字符串。

      queryParts = '?' + param + '=' + paramValue

      保持数组:

      queryParts.push('?' + param + '=' + paramValue)

      【讨论】:

        猜你喜欢
        • 2016-11-08
        • 2019-12-11
        • 2021-05-17
        • 1970-01-01
        • 2021-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-26
        相关资源
        最近更新 更多