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**
    }
]
1
  • objects.map(x => ({...x, checked: false})) Commented Mar 30, 2018 at 6:03

2 Answers 2

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

Sign up to request clarification or add additional context in comments.

3 Comments

even better would be Object.assign({}, el, { checked: false })
@Hamms yes it should work also
That will work. Thank you guys!
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
                        });
                    }

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.