在做一个小项目时,遇到的问题:
当我用new去实例化数组时,实例化的数组是伪数组,因此无法进行map处理
错误代码
// 基础数据
const data = [
{ name: '鼠', color: '#ffff00' },
{ name: '牛', color: '#ffcc00' },
{ name: '虎', color: '#ff9900' },
{ name: '兔', color: '#ff0000' },
{ name: '龙', color: '#cccc00' },
{ name: '蛇', color: '#999900' },
{ name: '马', color: '#66ff00' },
{ name: '羊', color: '#33ffff' },
{ name: '猴', color: '#990099' },
{ name: '鸡', color: '#cc66ff' },
{ name: '狗', color: '#33ff99' },
{ name: '猪', color: '#ff2344' }
]
// 渲染数据
const renderData = new Array(3* 6)
.map((i) => {
return data.map( i => ({ ...i }))
})
console.log(renderData)
错误执行结果
正确代码
// 渲染数据
const renderData = Array.from(new Array(3* 6))
.map((i) => {
return data.map( i => ({ ...i }))
})
console.log(renderData)