Creating new objects, first match isn't storing

Hello,

I’m working on a question for a software prep - I’m supposed to go thru a inventory array and look for items that have lace in them (and the index in which the lace word appears) I’m supposed to take that informations store it in it’s own object and pushed into an array.
Starting data is:

var currentInventory = [
  {
    name: 'Brunello Cucinelli',
    shoes: [
      {name: 'tasselled black low-top lace-up', price: 1000},
      {name: 'tasselled green low-top lace-up', price: 1100},
      {name: 'plain beige suede moccasin', price: 950},
      {name: 'plain olive suede moccasin', price: 1050}
    ]
  },
  {
    name: 'Gucci',
    shoes: [
      {name: 'red leather laced sneakers', price: 800},
      {name: 'black leather laced sneakers', price: 900}
    ]
  }
];

The expected output is:

var expectedResult = [
  {
    "nameWords": [
      "tasselled",
      "black",
      "low-top",
      "lace-up"
    ],
    "targetWordIndex": 3
  },
  {
    "nameWords": [
      "tasselled",
      "green",
      "low-top",
      "lace-up"
    ],
    "targetWordIndex": 3
  },
  {
    "nameWords": [
      "red",
      "leather",
      "laced",
      "sneakers"
    ],
    "targetWordIndex": 2
  },
  {
    "nameWords": [
      "black",
      "leather",
      "laced",
      "sneakers"
    ],
    "targetWordIndex": 2
  }
];

This is the work I’ve done:

function generateLaceDetails(currentInventory){
// result is in array. each match is stored in a objects whose key is 'nameWords', value is an array of each word in name. next key is targetword ifd, Index of lace word value
let lacedShoes = [];
  currentInventory.forEach(designers =>
    lacedShoes.push(findLaceItems(designers.shoes))
  )
  //console.log(lacedShoes)
  return lacedShoes; 
}


function findLaceItems(arrayOfItems){
  //console.log(arrayOfItems)
  let match = {
    nameWords:'',
    targetWordIndex: 0
  };

    for( let i = 0; i < arrayOfItems.length; i++ ){
      let desc = arrayOfItems[i]
      let words = desc.name.split(" ")
      //console.log(words)
        for (let j = 0; j < words.length; j++){
          let specificWord = words[j]
            if(specificWord.includes('lace')){
             // console.log('matches:', words, 'index:', j)
              match.nameWords = words
              match.targetWordIndex = j
            }
        }

      
    }
  //console.log(match)
  return match
}

generateLaceDetails(currentInventory);

As I see it, the if includes ‘lace’ works, because the console log prints out the items correctly, but the obj only stores the last values found. I’ve done a few things to change it but I have’t had the result I wanted yet. I would appreciate any help, thank you!

you have one single object, and everytime you overwrite these two properties on that single object, your match will have value of only last match