如何比较本地存储对象中的属性? (反应)

时间:2019-03-28 07:14:32

标签: arrays reactjs compare local-storage

我有一个名为newItem的对象,它具有名为productOID的属性。因此,我有一个存储相同对象的数组。当我将其推入名为productData的数组时,我想比较本地存储和变量存储中的两个productOID。如果它们具有相同的productOID,我想限制将其推入数组。这是代码:

componentDidMount(){
    const productData = JSON.parse(localStorage.getItem('looked-recently')) || []
    const newItem =
    {
        productImg: JSON.parse(this.props.data.getProduct.mediaUrl).images[0],
        productPrice: this.props.data.getProduct.minimalPrice,
        productName: this.props.data.getProduct.name,
        productOID: this.props.data.getProduct.oid
    }

    console.log(
        newItem.productOID ===
        JSON.parse(localStorage.getItem('looked-recently'))
        .map(item => item.productOID)
    )

    productData.push(newItem)
    localStorage.setItem('looked-recently', JSON.stringify(productData.slice(productData[productData.length - 4], 5)))
}

1 个答案:

答案 0 :(得分:0)

var data= productData.map((products) =>{
  if(products.productOID!== newItem.productOID) 
      return products
  })
  data.map((datas)=>{
      if(datas){
          productData.push(datas)
      }
  })

替换此代码