如何解决在 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])
,而且效果很好。它返回如下内容:{color: "#f5680e",angle: -13.180879351807855}
。
但是,当我尝试访问索引的属性时,它返回 undefined。例如,console.log(lines[0].color)
返回 undefined。
这是我的问题,我需要访问这些值,但我不能。不过这很奇怪,因为我可以访问整个对象本身,并且只有一个函数填充我的数组,并且没有进行异步调用。
感谢您的帮助。
解决方法
推送对象:lines.push({...});不是数组lines.push([...]);
lines.push({ color: randomColor,angle: randomAngle });
或日志行[0][0].color
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。