Quantcast
Channel: Active questions tagged javascript - Stack Overflow
Viewing all articles
Browse latest Browse all 138134

Find index of object array

$
0
0

I'm stuck with the code. I actually want to find the index of elements in dataLayer using typescript/javascript.

track: { products },
dataLayers: { current: { cart: { items } } }

products?: IProduct[]

export interface IProduct {
    id: string
    quantity?: string
    name?: string
}
items?: ICartItem[]

export interface ICartItem {
    id: string
    brand: string
    name: string
    quantity: number

}

track: { products }

products have {id,quantity}

dataLayers: { current: { cart: { items } } }

items have {id, brand, name, quantity }

Now I want to find the position/index of products, For Example:

Example: *

products:{
[{id: 'a123',quantity: '1'},{id:'a345', quantity:'2'}]
}

items:{
[{id: 'a123',brand:'pen',name: 'Reynolds', quantity: '1'}, {id: 'a143',brand:'pencil',name: 'Nataraj', quantity: '3'}, {id: 'a122',brand:'pen',name: 'Parker',quantity: '1'},{id:'a345',brand:'Eraser',name: 'Faber-Castell', quantity:'2'}]
}

position of {id: 'a123',quantity: '1'} should be 1 and position of {id:'a345', quantity:'2'} should be 4

My code looks like below:

I have used map to get id from products as shown

const id = products.map(product => { return product.id})

now I want to find index/position of those products in items.so I tried like below

    let position = filter((item: ICartItem) => {
        if(id.includes(item.id)){
            return {id}
        }  
}).findindex(id)

i.e.,

    const id = products.map(product => { return product.id})
    let position = filter((item: ICartItem) => {
        if(id.includes(item.id)){
            return {id}
        }  
}).findindex(id)

but I getting error

Argument of type 'string[]' is not assignable to parameter of type '(value: ICartItem, index: number, obj: ICartItem[]) => unknown'. Type 'string[]' provides no match for the signature '(value: ICartItem, index: number, obj: ICartItem[]): unknown'.ts(2345)

an Some help me in finding position/index of the filtered product?


Viewing all articles
Browse latest Browse all 138134

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>