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