我试图从带有三个变量的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 :(得分: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"]