在 Javascript 中访问数组中对象的属性时遇到问题
Having trouble accessing the properties of the objects in my array in Javascript
我目前有这个函数,它用具有 2 个属性(颜色和角度)的对象填充数组。
function populateArray() {
let lines = [];
let numOfLines = 200;
let colorArray = [
'#0f41ff',
'#f5680e',
'#9536ac',
'#d8ad00',
'#bd58a4',
'#f8c586',
'#406309',
'#ed0f00',
];
for (let i = 0; i < numOfLines; i++) {
let randomColorNumber = getRandomInt(colorArray.length);
let randomColor = colorArray[randomColorNumber];
let randomAngle = getRandomFloat(10, 20);
if (i % 2 === 1) {
randomAngle = randomAngle * -1;
}
lines.push([{ color: randomColor, angle: randomAngle }]);
}
return lines;
这工作得很好,当我 console.log(lines)
我完美地得到了对象数组。
我什至可以做到 console.log(lines[0])
,而且效果很好。它 returns 像这样:{color: "#f5680e", angle: -13.180879351807855}
.
但是,当我尝试访问索引的属性时,它 returns 未定义。例如,console.log(lines[0].color)
returns 未定义。
这是我的问题,我需要访问这些值,但我不能。不过这很奇怪,因为我可以访问整个对象本身,而且只有一个函数填充我的数组,并且没有进行任何异步调用。
感谢您的帮助。
推送对象:lines.push({...});不是数组 lines.push([...]);
lines.push({ color: randomColor, angle: randomAngle });
或日志行[0][0].color
我目前有这个函数,它用具有 2 个属性(颜色和角度)的对象填充数组。
function populateArray() {
let lines = [];
let numOfLines = 200;
let colorArray = [
'#0f41ff',
'#f5680e',
'#9536ac',
'#d8ad00',
'#bd58a4',
'#f8c586',
'#406309',
'#ed0f00',
];
for (let i = 0; i < numOfLines; i++) {
let randomColorNumber = getRandomInt(colorArray.length);
let randomColor = colorArray[randomColorNumber];
let randomAngle = getRandomFloat(10, 20);
if (i % 2 === 1) {
randomAngle = randomAngle * -1;
}
lines.push([{ color: randomColor, angle: randomAngle }]);
}
return lines;
这工作得很好,当我 console.log(lines)
我完美地得到了对象数组。
我什至可以做到 console.log(lines[0])
,而且效果很好。它 returns 像这样:{color: "#f5680e", angle: -13.180879351807855}
.
但是,当我尝试访问索引的属性时,它 returns 未定义。例如,console.log(lines[0].color)
returns 未定义。
这是我的问题,我需要访问这些值,但我不能。不过这很奇怪,因为我可以访问整个对象本身,而且只有一个函数填充我的数组,并且没有进行任何异步调用。
感谢您的帮助。
推送对象:lines.push({...});不是数组 lines.push([...]);
lines.push({ color: randomColor, angle: randomAngle });
或日志行[0][0].color