如何从对象动态添加查询参数?

时间:2020-06-24 15:38:26

标签: javascript angular

//example of an Object
var person = {
    firstName:"John",
    lastName:"Doe",
    age:50
};

预期输出: 网址:www.domain.com/person?firstName=John&lastName=Doe&age=50

在查询参数中添加它的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

我们可以提取entries个对象,然后相应地mapjoin。试试看:

var person = { firstName:"John", lastName:"Doe", age:50 };

var result = `www.domain.com/person?${Object.entries(person).map(k=>k.join("=")).join('&')}`;

console.log(result);

答案 1 :(得分:0)

我找到了这种方法:

 getQueryParamURL(url, param) {
        let query = '?'
        Object.keys(param).forEach((key, i, arr) => {
            query += key + '=' + param[key]
            if (arr[i + 1]) {
                query += '&';
            }
        })
        return url + query
    }

使用它:

let personObj = {
    firstName:"John",
    lastName:"Doe",
    age:50
};
let queryUrl = this.getQueryParamURL('www.domain.com/person',personObj )