我有一本字典的格式是
dictionary = {0: {object}, 1:{object}, 2:{object}}
我如何通过执行以下操作来遍历此词典
for ((key, value) in dictionary) {
//Do stuff where key would be 0 and value would be the object
}
对象。entries()方法已在ES2017中指定(并且在所有现代浏览器中都受支持):
for (const [ key, value ] of Object.entries(dictionary)) {
// do something with `key` and `value`
}
解释:
>
<代码>对象。entries()接受一个像{a:1,b:2,c:3}
这样的对象,并将其转换为一个键值对数组:[['a',1],'b',2],'c',3]
。
用<代码>表示。。。我们可以循环遍历这样创建的数组的条目。
由于我们保证每个如此迭代的数组项本身就是一个双条目数组,因此我们可以使用解构直接将变量key
和value
分配给它的第一个和第二个项。
试试这个:
dict = {0:{1:'a'}, 1:{2:'b'}, 2:{3:'c'}}
for (var key in dict){
console.log( key, dict[key] );
}
0 Object { 1="a"}
1 Object { 2="b"}
2 Object { 3="c"}
ECMAScript 2017引入了一个新的对象。条目功能。您可以根据需要使用它来迭代对象。
'use strict';
const object = {'a': 1, 'b': 2, 'c' : 3};
for (const [key, value] of Object.entries(object)) {
console.log(key, value);
}
a 1
b 2
c 3
在ECMAScript 2015中,没有对象。条目,但您可以使用映射对象,并使用映射对其进行迭代。原型条目 。引用那一页的例子,
var myMap = new Map();
myMap.set("0", "foo");
myMap.set(1, "bar");
myMap.set({}, "baz");
var mapIter = myMap.entries();
console.log(mapIter.next().value); // ["0", "foo"]
console.log(mapIter.next().value); // [1, "bar"]
console.log(mapIter.next().value); // [Object, "baz"]
或对..进行迭代。。的,如下所示
'use strict';
var myMap = new Map();
myMap.set("0", "foo");
myMap.set(1, "bar");
myMap.set({}, "baz");
for (const entry of myMap.entries()) {
console.log(entry);
}
[ '0', 'foo' ]
[ 1, 'bar' ]
[ {}, 'baz' ]
或者
for (const [key, value] of myMap.entries()) {
console.log(key, value);
}
0 foo
1 bar
{} baz
不,这在物体上是不可能的。
您应该对..使用<代码>进行迭代。。在对象中。按键,如下所示
for (var key in dictionary) {
// check if the property/key is defined in the object itself, not in parent
if (dictionary.hasOwnProperty(key)) {
console.log(key, dictionary[key]);
}
}
注意:只有当您想迭代字典对象本身的属性时,才需要上面的if条件。因为。。将遍历所有继承的可枚举属性。
或者
Object.keys(dictionary).forEach(function(key) {
console.log(key, dictionary[key]);
});
我有一本字典的格式是 我怎样才能通过这样的方法来遍历这本词典
我不熟悉Kafka streams,我尝试通过keyValueStore迭代Kafka streams表中的项: 这个想法是使用KeyValueStore创建一个Ktable(我也尝试过globalKTable)。然后一个分离的线程负责读取KeyValueStore的内容,以便遍历每个键的最后一个值。 在线程中,即使我在主题“test”上生成项目,keyValueStore也会保持为空。 有什么我
我正在尝试迭代以下JSON: 这里的键是动态的。我要两个钥匙=?值=?
有存储库文件夹,其中有100个图像文件夹。我想遍历每个文件夹,然后对这些文件夹中的图像执行相同的操作。 例如:存储库—— 有人知道优雅的做法吗? 我的操作系统是MacOS(里面有DS_Store元数据文件)
我有一个目标: 我如何在我的组件Tempate中迭代这个项目?我试过:
通过一个简单的数组,我可以使用标准的循环来实现: 但是如何用实物来做呢?