解析Javascript输出数组/解析URL哈希

时间:2017-06-22 23:52:30

标签: javascript arrays parsing hash split

我试图从带有三个变量的URL字符串中解析出一个值,我目前正在使用该代码:

var hash_array = location.hash.substring(1).split('&');
var hash_key_val = new Array(hash_array.length);

for (var i = 0; i < hash_array.length; i++) {
hash_key_val[i] = hash_array[i].split('=');
var array = hash_key_val[i];
console.log(array);
}

此代码用于解析散列,但它为每个项目和值创建单独的数组,如下所示:

["object1", "value1"]
["object2", "value2"]
["object3", "value3"]

将数组更改为var x = JSON.stringify(array[1]);

我可以得到我需要的值,但我只需要第一个值,而这段代码仍然会返回:

"value1"
"value2"
"value3"

如何更改代码,以便该函数仅输出value1

谢谢!

2 个答案:

答案 0 :(得分:0)

将1更改为0;数组从零索引开始。此外,我不确定您是否知道在打印它们时循环显示值。

var arr = [
  ["object1", "value1"],
  ["object2", "value2"],
  ["object3", "value3"]
];

console.log(arr[0][1]);

答案 1 :(得分:0)

正如Arrow所说,您需要将访问array的索引从1更改为0.

另外,为什么不使用map:

var keys = hash_array.map(function(param){
    return JSON.stringify(param.split('=')[0]);
}

密钥为["object1", "object2", "object3"]