我正在循环生成对象数组。我使用过造假者来生成假名,但是在指定的迭代中,我想插入自己的值,在这种情况下,是人的汽车。 下面的代码我无法设置未定义汽车的属性,怎么了?
const person = []
times(2, index => {
if (index === 0) {
person[0].car = 'honda'
} else if(index ===1) {
person[1].car = 'ford'
}
person.push({
name: faker.random.name()
})
}
console.log(person)
答案 0 :(得分:0)
除了缺少一些右括号之外,您还尝试首先访问不存在的对象(person[0].car...
),然后再创建它(person.push(...)
)。
颠倒顺序。
let newPerson = { name: faker.random.name(), car: 'dodge' };
person.push(newPerson);
答案 1 :(得分:0)
person
最初是一个空数组,其中没有对象,因此当尝试执行person[0].car
时会引发错误,因为person[0]
是undefined
,并且您不能从undefined
设置或获取任何属性。
相反,这样做
person[0] = {}
person.car = 'honda'
或
person[0] = {'car': 'honda'}