我收到一个奇怪的错误,有人可以帮我解决这个问题吗?
const myArray = new Array(4)
.keys()
.map((v, i) => (
console.log('print:', v, i)
)
)
console.log('myArray print: ', myArray);
我收到此错误:
TypeError: (intermediate value).keys(...).map is not a function
我想使用i
从另一个现有数组中查找一些内容。
const myArray = new Array(4)
.keys()
.map((v, i) => ({
name: i
})
)
console.log('myArray print: ', myArray);
这个问题不是重复的,它试图迭代一定数量并使用迭代创建一个新对象。
答案 0 :(得分:3)
Array.keys()返回一个迭代器Object,它是一个对象,并且没有属性映射。您可以将其转换为
const myArray = [...new Array(4).keys()].map((v, i) => ({
name: i
})
)
console.log('myArray print: ', myArray);

答案 1 :(得分:3)
您可以使用 Array.from 来获取预期的输出:
var myArray = Array.from(Array(4), (value, index) => ({ name: index}));
console.log('myArray print: ', myArray);