解析JavaScript输出阵列 /解析URL哈希



我正在尝试从带有三个变量的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

谢谢!

更改0的1;数组以零索引开始。另外,我不确定您是否知道您在将它们打印出来时正在循环。

var arr = [
  ["object1", "value1"],
  ["object2", "value2"],
  ["object3", "value3"]
];
console.log(arr[0][1]);

如箭头所述,您需要更改访问array的索引,从1到0。

此外,为什么不使用地图:

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

键为["object1", "object2", "object3"]

最新更新