我有以下参数
/Search?category=1&attributes=169&attributes=172&attributes=174&search=all
我试图将只是属性查询字符串值作为javascript中的数组,例如。
attributes = ['169','172','174']
请注意,可能还有其他不相关的参数,例如搜索或类别。
答案 0 :(得分:1)
你可以这样做:
(function() {
function getJsonFromUrl(url) {
var query = url.substr(1);
var arr = [];
query.split("&").forEach(function(part) {
var item = part.split("=");
arr.push(decodeURIComponent(item[1]));
});
return arr;
}
var url = "https://example.com?category=1&attributes=169&attributes=172&attributes=174&search=all";
var params = getJsonFromUrl(url);
console.log(params);
})();
希望这有帮助!
答案 1 :(得分:1)
可能不是正确的答案,只是尝试了
var str = "/Search?category=1&attributes=169&attributes=172&attributes=174&search=all";
var str1 = str.split("&");
var attributesArray = [];
for(var i=0; i<str1.length; i++) {
if (str1[i].includes("attributes")) {
attributesArray.push(str1[i].replace("attributes=", ""));
}
}
答案 2 :(得分:0)
这应该可以做你想要的,假设你已经有了你的网址:
var url = "/Search?ategory=1&attributes=169&attributes=172&attributes=174&search=all";
var attrs = url
.match(/attributes=\d*/g)
.map(function(attr){
return Number(attr.replace("attributes=", ""));
});
console.log(attrs); //=> [169, 172, 174]