Uncaught TypeError: Cannot read property ‘num’ of undefined at HTMLAnchorElement.addItem

Eu comecei a fazer o programa em JS para ter interação com o front e me apareceu esse erro. Quando é para mostrar o produto, ele funciona mostrando o nome do produto no console, mas bate esse erro, gostaria de saber como consertar

const select = document.querySelectorAll("(data-ordem)");
const shopProduct = (
 {
    num: 0,
    name: 'Bebedouro',
    price: 20
  },
  {
    num: 1,
    name: 'Massageador para gatos',
    price: 15
  },
  {
    num: 2,
    name:'Kit Spray com brinquedo de catnip',
    price: 40
  },
  {
    num: 3,
    name:'Sache de Catnip',
    price: 5
  }
);

select.forEach((e) => {
  let newItem = parseInt(e.dataset.ordem);
  e.addEventListener('click', addItem);
    function addItem(e){
      e.preventDefault();
        for(i=0; i <= shopProduct.length; i++){
          if(newItem === shopProduct(i).num){
            console.log(shopProduct(i).name);
          }
        }
    }
})