【发布时间】:2019-09-11 04:21:30
【问题描述】:
这个函数做了我想要它做的,但不是我期望它做的。我希望它创建两个数组,因为 ...args 创建了一个传递参数的数组,并且 map() 对它连接到的数组的每个值执行一些操作并将结果存储在一个新数组中。谁能告诉我为什么这个函数不创建两个数组?
let practiceFunc = (...args) => {
let arr = args.map((e) => {
return e + 1
})
return arr ;
}
console.log(practiceFunc(1,2,3)) ;
document.write(practiceFunc(1,2,3)) ;
【问题讨论】:
-
欢迎来到 SO! “不创建两个数组”是什么意思。你期望的输出到底是什么?
-
@ggorlen 我期待一个以数字 1 2 3 作为元素的数组,然后是一个由包含元素 2 3 4 的地图数组创建的数组
-
args是[1,2,3]数组,arr是[2,3,4]数组。两者都被创建,并且只返回arr。 -
@ggorlen 是的,谢谢你,杰克帮助我理解了这一点,你只是在我的大脑中巩固了它
标签: javascript arrays function ecmascript-6