从Window.location.hash创建数组

mTu*_*ran 5 javascript arrays jquery

我试图从window.location.hash变量创建数组但我很惊慌.

我的代码是:

        $.each(window.location.hash.replace("#", "").split("&"), function (i, value) {
            value = value.split("=");

            var my_item = {value[0] : value[1]};
            form_data[i] = my_item; 
        });
        console.log(form_data);
Run Code Online (Sandbox Code Playgroud)

谢谢.

Pau*_*uan 5

试试看:

var hash = window.location.hash.slice(1);
var array = hash.split("&");

var values, form_data = {};

for (var i = 0; i < array.length; i += 1) {
    values = array[i].split("=");
    form_data[values[0]] = values[1];
}

console.log(form_data);
Run Code Online (Sandbox Code Playgroud)

...当然,我怀疑您可能想要的是搜索属性,而不是哈希,但我不知道您的特定用例。


Pra*_*sad 2

your code is correct only error is

 $.each(window.location.hash.replace("#", "").split("&"), function (i, value) {
            value = value.split("=");
            var _formItem={};
            var my_item={};
            my_item[value[0]]= value[1]; 
            form_data[i] = my_item; 
        });
Run Code Online (Sandbox Code Playgroud)