当前位置: 首页 > 知识库问答 >
问题:

如何在JavaScript中迭代(键、值)?

顾英发
2023-03-14

我有一本字典的格式是

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
}

共有3个答案

南门欣怡
2023-03-14

对象。entries()方法已在ES2017中指定(并且在所有现代浏览器中都受支持):

for (const [ key, value ] of Object.entries(dictionary)) {
    // do something with `key` and `value`
}

说明:

>

表示。。。对于,我们可以循环遍历这样创建的数组的条目。

因为我们保证每个迭代的数组项本身就是一个两项数组,所以我们可以使用解构将变量keyvalue直接分配给它的第一项和第二项。

赵明亮
2023-03-14

试试这个:

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"}
邢璞
2023-03-14
  1. 在ECMAScript 2017中,只需调用对象。条目(yourObj)

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"]

或者迭代for... of,像这样

'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..进行迭代。。在或对象中。按键,如下所示

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: 这里的键是动态的。我要两个钥匙=?值=?

  • 我正在尝试迭代作为参数传递给jrxml的<code>HashMap</code>的值,在<code>HashMap</code>中,这些值作为<code>List</code>传递。 例 我如何在jasper report Jr XML中迭代这些< code>List?

  • null 一些示例输出数据: *编辑:工作的scala代码行: