我正在学习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))
}
答案 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