0

I am declaring an empty array of objects called filter in constructor:

constructor(props){
    super(props);
    this.state = {
       filter: []
    }
}

I am getting an API response which is an array objects something like below and storing in filter variable.

[    
    {
       name: "xyz",
       language: "english",
       age: 20
    },
    {
       name: "abc",
       language: "history",
       age: 21
    },
    {
       name: "efi",
       language: "geography",
       age: 20
    }
]

I was looking for a way where I can set a property like checked = false for each object in filter array by default in jsx file. Though the response from API is above, after receiving the response, the array should like

[    
    {
       name: "xyz",
       language: "english",
       age: 20,
       **checked: false**
    },
    {
       name: "abc",
       language: "history",
       age: 21,
       **checked: false**
    },
    {
       name: "efi",
       language: "geography",
       age: 20,
       **checked: false**
    }
]
Vicky
  • 624
  • 2
  • 12
  • 35

2 Answers2

2

using map and Object.assign, assuming obj is the respanse that you get from your api you can run the function below to parse your array an then set the respanse to your state

var obj=[    
    {
       name: "xyz",
       language: "english",
       age: 20
    },
    {
       name: "abc",
       language: "history",
       age: 21
    },
    {
       name: "efi",
       language: "geography",
       age: 20
    }
]

var result = obj.map(el => {
  var o = Object.assign({}, el);
  o.checked = false;
  return o;
})


console.log(result);
Abslen Char
  • 3,071
  • 3
  • 15
  • 29
0
 Api.post(JSON.stringify(ConditionJson), AppConst.BaseURL + 'query/execute/conditions/LoyaltyStamps', (err, responseJson) => {
                    if (err) {
                        Alert.alert('Error!', err);
                    }
                    else {
                        var checked = 'false';
                        var name = responseJson.map(function (info) {
                            checked += 'false';
                        });

                        this.setState({
                            ischecked: checked
                        });
                    }
Jatin parmar
  • 424
  • 4
  • 13