JSFiddle - React, Tailwind, and code Playground

by nia232

JavaScript

const purchases = [
	{
  	"id": 1, 
    "elements": [
    	{
	    	"blockchainId": 1
      }
    ]
  },
  {
  	"id": 2, 
    "elements": [
    	{
	    	"blockchainId": 2
      }
    ]
  },
  {
  	"id": 3, 
    "elements": [
    	{
	    	"blockchainId": 3
      }
    ]
  },
]

const sales = [
  {
  	"id": 3, 
    "elements": [
    	{
	    	"blockchainId": 3
      }
    ]
  },
 ]

// Working solution
purchases.forEach((purchase) => {
  const matchingItems = sales.filter(obj => obj.elements[0]?.blockchainId === purchase.elements[0]?.blockchainId);
  if (matchingItems.length > 0){
   console.log('purchase has been SOLD.')
    purchase.sold = true
  }
})

// Not working solution
/*  purchases.forEach((purchase) => {
   console.log('finding matching items....')
   const matchingItems = sales.filter((obj) => {
     return obj.elements[0] && obj.elements[0].blockchainId === purchase.elements[0] && purchase.elements[0].blockchainId
   })
 
   if (matchingItems.length > 0){
     console.log('purchase has been SOLD.')
     purchase.sold = true
   }
 }) */