Home > other >  Spread Operator for array of array
Spread Operator for array of array

Time:02-07

How to perform spread opration on salesuser array object. need to add ..salesuserstargetAmount:500, in that object

  {        
    "station": [
        {
            "stationname":"chennai",
            "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester", 
                },         
         ]
        },
    {
            "stationname":"chennai22222",
           "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester222222", 
                },         
         ]
        }
    ]
 }

Tried with

let  salesusertargetamt = "100"

 this.setState({
   salesusers: this.state.station.map((items) => {
   items.salesusers.map(el => (el.salesusersname !== "" ? { ...el, salesusertargetamt } : el))
  });

CodePudding user response:

Curly braces ({) are tricky here because they both mean block of code and JavaScript object so you need to wrap them with ():

let  salesusertargetamt = "100";

 let obj = {        
    "station": [
        {
            "stationname":"chennai",
            "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester", 
                },         
         ]
        },
    {
            "stationname":"chennai22222",
           "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester222222", 
                },         
         ]
        }
    ]
 };
 
 let result = obj.station.map(items => ({
    ...items,
    salesusers: items.salesusers.map(user => (user.salesusersname !== "" ? {...user, salesusertargetamt} : user ))
 }))
 

 console.log(result);

CodePudding user response:

let  salesusertargetamt = "100"

 this.setState({
   salesusers: this.state.station.map((items) => {
    return items.salesusers.map(el => (el.salesusersname !== "" ? { ...el, stationtargetAmount: salesusertargetamt } : el))
  });
  •  Tags:  
  • Related