为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript 中的数组错误:未捕获的类型错误:无法读取未定义的属性“x”

Javascript 中的数组错误:未捕获的类型错误:无法读取未定义的属性“x”

繁花如伊 2021-06-22 17:01:53
我在 newEntry.x 部分遇到“Uncaught TypeError: Cannot read property 'x' of undefined”。我不确定为什么它不会读取 for 循环中的对象,因为在控制台中,它似乎可以识别它们的值。我正在编写一个函数,该函数返回一个扩展数组,其中包含相邻对象的中点。它在一定数量的迭代中这样做,因此是嵌套的 for 循环。我不知道该怎么做,因为我已经尝试修改 for 循环和拼接,但没有成功。function newList(iterations) {  for (let i = 0; i < iterations; i += 1) {    let concordiaLogo = [      { x: 12.5, y: -100 },      { x: 12.5, y: -112.5 },      { x: 12.5, y: -125 },      { x: 68.75, y: -68.75 },      { x: 125, y: -12.5 },      { x: 112.5, y: -12.5 },      { x: 100, y: -12.5 },      { x: 100, y: 0 },      { x: 100, y: 12.5 },      { x: 112.5, y: 12.5 },      { x: 125, y: 12.5 },      { x: 68.75, y: 68.75 },      { x: 12.5, y: 125 },      { x: 12.5, y: 112.5 },      { x: 12.5, y: 100 },      { x: 0, y: 100 },      { x: -12.5, y: 100 },      { x: -12.5, y: 112.5 },      { x: -12.5, y: 125 },      { x: -68.75, y: 68.75 },      { x: -125, y: 12.5 },      { x: -112.5, y: 12.5 },      { x: -100, y: 12.5 },      { x: -100, y: 0 },      { x: -100, y: -12.5 },      { x: -112.5, y: -12.5},      { x: -125, y: -12.5 },      { x: -68.75, y: -68.75 },      { x: -12.5, y: -125 },      { x: -12.5, y: -112.5 },      { x: -12.5, y: -100 },      { x: 0, y: -100 }    ]    for (let i = 0; i < (concordiaLogo.length-1) * 2; i += 2) {      let newEntry = { x: 0, y: 0 };      newEntry.x = (concordiaLogo[i].x + concordiaLogo[i+1].x)/2;      newEntry.y = (concordiaLogo[i].y + concordiaLogo[i+1].y)/2;      concordiaLogo.splice(i + 1, 0, newEntry);    }  }  return concordiaLogo;}输入为 3 时,我希望得到一个 32*2**3 的数组,但它仅返回“未捕获的类型错误:无法读取未定义的属性 'x'”。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信