Javascript 循环遍历对象中的键值
我正在从localstorage获取对象数组: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
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()