2017-08-05 35 views
0

我想创建一个函数(M,N){},返回一个阵列的阵列,它的米长度,每个值是n为什么映射的一个`阵列undefined`返回`undefined`

function createArray(m, n){ 
    let a = new Array(6); 
    return a.map(item => n) 
} 
const z = createArray(5,6); 
console.log(z) 

我假设z将是一个数组6 为什么zundefined的数组?

+0

您正在创建一个长度为6的数组,其中包含未定义的值。 '新的数组(6)'做到这一点。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Syntax –

+0

已经回答了很多次。 – rossipedia

+1

'return [... a] .map(item => n)' –

回答

0

z的确是6阵列,但6空插槽,因为你new Array不只是创建一个空数组有6个插槽,但没有价值

预ES6

let arr = new Array(10).fill('5'); 

您可以检查链接顶部,谈到这种情况(JavaScript "new Array(n)" and "Array.prototype.map" weirdness

+0

所以我怎样才能创建一个6插槽阵列和价值 – Liuuil

+0

只是编辑我的答案与解决方案 – sheplu