为什么我在遍历javascript(JS的新手)时得到错误的结果:
var data = "data":{
"unknown_name":{
"0":{
"price":"23432",
"name":"one"
},
"1":{
"price":"23432",
"name":"two"
}
}
}
我的尝试:
var name = Object.keys(data.data)[0]
var data_data = data.data[name]
Object.keys(data_data).forEach(function(key) {
console.log(key, obj[key]);
});
我正在尝试打印价格和价值,但无法正常工作。
答案 0 :(得分:1)
ArrayList<String> keys;
HashMap<String, String> data;
void run() {
generateData(1_000_000);
long start, end;
for (int i = 0; i < 5; ++i) {
start = System.nanoTime();
for (String key : keys) {
String value = data.get(key);
}
end = System.nanoTime();
System.out.println("Store in a variable: " + ((end - start) / 1000 / 1000) + "ms");
start = System.nanoTime();
for (String key : keys) {
data.get(key);
data.get(key);
data.get(key);
}
end = System.nanoTime();
System.out.println("Call 3 times: " + ((end - start) / 1000 / 1000) + "ms");
}
}
void generateData(int size) {
keys = new ArrayList<>(size);
data = new HashMap<>(size);
for (int i = 0; i < size; ++i) {
String key = getRandomString(64);
keys.add(key);
data.put(key, getRandomString(64));
}
}
String getRandomString(int length) {
StringBuilder str = new StringBuilder();
for (int i = 0; i < length; ++i) {
str.append((char) ThreadLocalRandom.current().nextInt(128));
}
return str.toString();
}