循环遍历数组

时间:2018-06-10 10:42:07

标签: javascript arrays dictionary

我正在学习Javascript编程,而且我在循环数组数组时遇到了问题。我需要一个编码程序来解决它。

我想打印出数组中的每个单独的数组。 我试图使用 Map ,但是一旦打破类型,它就会返回第一个数组的键和值。我只需要一个代码来帮助我单独打印每个数组的每个键和值。

var arrOfArr = [
    ['one', 1],
    ['two', 2],
    ['three', 3]
]

var newmap = new Map(arrOfArr)
for (const [key, values] of newmap.entries()) {
    newmap.forEach((values, key )  => console.log(key, values))
} 

4 个答案:

答案 0 :(得分:1)

您只需使用.forEach方法

即可
  

forEach()方法为每个数组元素执行一次提供的函数。

通过这种方式,您可以遍历arrOfArr并使用键/值对填充obj

对于arrOfArr中的每个数组元素,您可以使用e[0]选择密钥(子数组中的第一项),并使用e[1]选择它的值(子数组中的第二项)。

然后写obj[e[0]] = e[1]以在obj

中添加新的键/值对

以下是代码:

var arrOfArr = [ ['one', 1], ['two', 2], ['three', 3] ];

const obj = {}
arrOfArr.forEach(e => {
  obj[e[0]] = e[1]
})

console.log(obj)

或者,如果您只是想单独打印,则需要obj。因此使用:

var arrOfArr = [ ['one', 1], ['two', 2], ['three', 3] ];

arrOfArr.forEach( e => console.log(`${e[0]} => ${e[1]}`) )

答案 1 :(得分:1)

通过ES6 Destructuring赋值,您可以使用一行来实现它:

arrOfArr.forEach(([key, value]) => console.log(key, value));

答案 2 :(得分:0)

首先,看看下面对Node REPL的尝试。

  

参考:Using iterator on Map() to iterate over keys and values pairs

> var arrOfArr = [
...     ['one', 1],
...     ['two', 2],
...     ['three', 3]
... ]
undefined
>
> var newMap = new Map(arrOfArr)
undefined
> newMap
Map { 'one' => 1, 'two' => 2, 'three' => 3 }
>
> var iteratorObj = newMap[Symbol.iterator]();
undefined
>
> // Printing keys and values
undefined
> for (let item of iteratorObj) {
... console.log(item[0], item[1])
... }
one 1
two 2
three 3
undefined
>

现在,在线尝试。

var arrOfArr = [
    ['one', 1],
    ['two', 2],
    ['three', 3]
]

var newMap = new Map(arrOfArr)

var iteratorObj = newMap[Symbol.iterator]();

// Printing keys and values
for (let item of iteratorObj) {
	console.log(item[0], item[1])
}

答案 3 :(得分:0)

arrOfArr Uncle,其中包含3 Parent

  

JavaScript数组是零索引的:数组的第一个元素在索引0处,最后一个元素在索引处等于数组长度属性的值减1.使用无效的索引号将返回undefined。< / p>

有用的链接:MDN Array

示例:

Array