简体   繁体   English

数组数组的扩展运算符

[英]Spread Operator for array of array

How to perform spread opration on salesuser array object. need to add..salesuserstargetAmount:500, in that object如何对salesuser数组object进行spread操作,需要在object中添加..salesuserstargetAmount:500

  {        
    "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))
  });
let  salesusertargetamt = "100"

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

Curly braces ( { ) are tricky here because they both mean block of code and JavaScript object so you need to wrap them with () :花括号 ( { ) 在这里很棘手,因为它们都表示代码块和 JavaScript object,因此您需要用()将它们括起来:

 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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM