关于遍历一个对象
使用 es6
Object.entries(stashData).forEach(([key, value]) => {
// do something with key and value
});
而不是
Object.keys(stashData).forEach((key) => {
// do something with key and stashData[key]
});
为什么不用 for...in
这个更令人讨厌, 因为需要使用 hasOwnProperty. 随便加个 if 然后代码都会恶心.
然而还是没法直接访问 stashData[key], 很令人伤心.
----------------------- 以下是精选回复-----------------------
答:```
var object = { a: 10, b: 20 };
for (var key in object) {
var x = object[key];
console.log(x); // 10
// 20
}
```
答:首先你要有个对象
答:Object.values
答:Nice
答:es6 的 Map 和 for of 了解下
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
答:Object.entries 和 Object.values 好像是同属一个 stage 吧?
答:var obj = Object.create(null)
答:Object.keys()、Object.entries()、Object.values()还满足不了大部分场景么?
如果还不够,那还有 Object.getOwnPropertyNames()、Object.getOwnPropertyDescriptors()、Reflect.ownKeys()。
答:for in 遍历会遍历原型的,object.keys 不会。然而通常情况下 for in 就行了,毕竟一般 object 原型都是不可枚举的
0条评论