来自查询字符串的 javascript/jquery 数组

标签 javascript jquery arrays

尝试在这里学习一些新东西,那就是如何使用 js 或 jquery 从查询字符串构建数组。假设我有一个如下所示的 URL:

http://demo.dev.activemls.com/property/search?city=TOLEDO&bdrms=3&bthrms=2.0&lowprice=115000&highprice=125000&zip=&order=B&pagesize=30

假设查询可能并不总是具有相同的键/值(字符串可能更长或更短),那么我如何将此字符串转换为这样的数组:

var query = {
    city: "TOLEDO", 
    bdrms: 3,
    bthrms: 2.0,
    lowprice: 115000,
    highprice: 125000,
    zip: "",
    order: "B",
    pagesize: 30
};

最佳答案

尝试利用 String.prototype.split()Array.prototype.splice()do.. while 循环

var str = "http://demo.dev.activemls.com/property/search?city=TOLEDO&bdrms=3&bthrms=2.0&lowprice=115000&highprice=125000&zip=&order=B&pagesize=30";

var arr = str.split(/\?|&|=/).splice(1);

var obj = {};

do {
  obj[arr.splice(0, 1)] = arr.splice(0, 1)[0]
} while(!!arr.length);

document.getElementsByTagName("pre")[0].textContent = JSON.stringify(obj, null, 2)
<pre></pre>

关于来自查询字符串的 javascript/jquery 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32540214/

相关文章:

使用指针更改原始字符串的值

javascript - JQuery的点击事件是如何和里面的全局变量一起工作的呢?

javascript - 如何使用jquery用鼠标移动div?

javascript - 使用 AngularJS 观察 rangeSlider 值的变化

arrays - Excel VBA : Detect what slicers were selected and store into an Array

ios - 在 'NSURL item' 中查找 'NSURL array' 的索引

php - 使用php提取文件的元数据

javascript - 下载后图库不显示图像?

javascript - PubNub 中的 WebRTC 视频流

javascript - 如何在 gulp 中的函数内连接多个 js 文件