не работает, как исправить? Данный код?

js

не получается заполнить массив, что нужно исправить?

   send(data){
      for(let i = 0; this.allCartProduct.length; i++){
        if(this.allCartProduct[i] == data){
          this.allCartProduct[i] = data
        }else{
          this.allCartProduct.push(data)
        } 
      }
    }

код полностью

<script>
import CartList from '../src/components/cartList'
export default {
  data(){
    return{
      hidden: false,
        name: '',
        sub_name: '',
        address: '',
        allCartProduct: [],
        arrCart: [],
    }
  },
  components: { 
    CartList 
  },
  props:['storage'],
  methods:{
  send_req(){
      alert(JSON.stringify({name: this.name,sub_name: this.sub_name,address: this.address,cart: this.allCartProduct}))
    },
  send(data){
      for(let i = 0; this.allCartProduct.length; i++){
        if(this.allCartProduct[i] == data){
          this.allCartProduct[i] = data
        }else{
          this.allCartProduct.push(data)
        } 
      }
    }
  }
}
</script>

Ответы (1 шт):

Автор решения: Aziz Umarov

Попробуйте так

import CartList from '../src/components/cartList'
export default {
  data(){
    return{
      hidden: false,
        name: '',
        sub_name: '',
        address: '',
        allCartProduct: [],
        arrCart: [],
    }
  },
  components: { 
    CartList 
  },
  props:['storage'],
  methods:{
  send_req(){
      alert(JSON.stringify({name: this.name,sub_name: this.sub_name,address: this.address,cart: this.allCartProduct}))
    },
  send(data){
      for(let i = 0; i < this.allCartProduct.length; i++){
        if(JSON.stringify(this.allCartProduct[i]) == JSON.stringify(data)){
          this.allCartProduct[i] = data
        }else{
          this.allCartProduct.push(data)
        } 
      }
    }
  }
}
→ Ссылка