我想创建一个函数(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
为什么z
是undefined
的数组?
我想创建一个函数(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
为什么z
是undefined
的数组?
z
的确是6阵列,但6空插槽,因为你new Array
不只是创建一个空数组有6个插槽,但没有价值
预ES6
let arr = new Array(10).fill('5');
您可以检查链接顶部,谈到这种情况(JavaScript "new Array(n)" and "Array.prototype.map" weirdness)
您正在创建一个长度为6的数组,其中包含未定义的值。 '新的数组(6)'做到这一点。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Syntax –
已经回答了很多次。 – rossipedia
'return [... a] .map(item => n)' –