Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环遍历对象中的键值_Javascript - Fatal编程技术网

Javascript 循环遍历对象中的键值

Javascript 循环遍历对象中的键值,javascript,Javascript,我正在从localstorage获取对象数组: saved_selection = window.localStorage.getItem('match_selection'); console.log('saved selection obj is '); console.log(saved_selection); 输出为: {"236":"Forward_2","243":"Forward_1"} 现在我想循环并获得键和值。因此,我: for(var index in saved_s

我正在从localstorage获取对象数组:

saved_selection = window.localStorage.getItem('match_selection');

console.log('saved selection obj is ');
console.log(saved_selection);
输出为:

{"236":"Forward_2","243":"Forward_1"} 
现在我想循环并获得键和值。因此,我:

for(var index in saved_selection) {
    console.log(index + " -> " + saved_selection[index]); 
}
但我得到:

0 -> { 
1 -> " 
2 -> 2 
3 -> 3 
等等,而不是:

236 -> Forward_2
243 -> Forward_1
如何实现所需的输出?

这意味着
{“236”:“Forward_2”,“243”:“Forward_1”}
字符串的实例,而不是对象
为了

这将不起作用,但对于

var v2 = {"236":"Forward_2","243":"Forward_1"};  
您应该使用JSON将
String
转换为
Object
方法

saved_selection = JSON.parse(saved_selection);
for(var index in saved_selection) {
    console.log(index + " -> " + saved_selection[index]); 
}
这意味着
{“236”:“Forward_2”,“243”:“Forward_1”}
字符串的实例,而不是对象 为了

这将不起作用,但对于

var v2 = {"236":"Forward_2","243":"Forward_1"};  
您应该使用JSON.parse方法将
String
转换为
Object

saved_selection = JSON.parse(saved_selection);
for(var index in saved_selection) {
    console.log(index + " -> " + saved_selection[index]); 
}

您想解析出localStorage返回的字符串:

saved_selection = JSON.parse( window.localStorage.getItem('match_selection') );

您想解析出localStorage返回的字符串:

saved_selection = JSON.parse( window.localStorage.getItem('match_selection') );

你,我的朋友,正试图得到一个完整的字符串化对象的索引。它不是那样工作的。首先,您必须解析它,并使用
JSON.parse()
将其分解为各个组件

请看下面:

JS:

var saved_selection = JSON.parse('{"236":"Forward_2","243":"Forward_1"}') ;

var saved_selection1 = '{"236":"Forward_2","243":"Forward_1"}' ;

for(var index in saved_selection) {
    console.log(index + " -> " + saved_selection[index]); 
}
for(var index in saved_selection1) {
    console.log(index + " -> " + saved_selection1[index]); 
}
第一个for循环返回所需的O/p,但第二个for循环不返回


在这里找到工作小提琴:

你,我的朋友,正在尝试获取一个完整的字符串化对象的索引。它不是那样工作的。首先,您必须解析它,并使用
JSON.parse()
将其分解为各个组件

请看下面:

JS:

var saved_selection = JSON.parse('{"236":"Forward_2","243":"Forward_1"}') ;

var saved_selection1 = '{"236":"Forward_2","243":"Forward_1"}' ;

for(var index in saved_selection) {
    console.log(index + " -> " + saved_selection[index]); 
}
for(var index in saved_selection1) {
    console.log(index + " -> " + saved_selection1[index]); 
}
第一个for循环返回所需的O/p,但第二个for循环不返回


在这里找到工作小提琴:

您的循环在字符串中迭代。要从字符串中生成对象,请使用JSON.parse()循环遍历字符串。要从字符串中生成对象,请使用JSON.parse()