6

I have an array of objects like

var array = [{date:'01/01/2017',value1:200,value2:300,value3:400}]

I am trying to get a subset of the object properties like var

var newArray = [['01/01/2017',200],['01/01/2017',200],['01/01/2017',200]......]

I do not want an array like this

[[date:'',value2:],[date:'',value2:],[date:'',value13:]]

But just directly a 2 D array from array of objects.

Currently I am doing a for each on my array of objects and pushing the required properties in to an array an returning that array.

I was looking for map function may be if that can work but this does not work with map

array.map(function(item){ 
return {
      item.date, item.value1
       }
});

Kindly suggest if there is any other function to do this without looping over?

Thanks

2
  • just fix your syntax error on the array literal you're done. Commented Oct 24, 2017 at 4:35
  • Yup that was the mistake :) Commented Oct 24, 2017 at 5:11

2 Answers 2

6

You should use map for this, you were almost there. This will sort you out:

array.map(function(item){ return [item.date,item.value1]});
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks it worked bu for some reason i was getting 'undefined' the second property. Thanks a lot.
1

You need to put the values in an array & map method will do rest of the work

var array = [{
  date: '01/01/2017',
  value1: 200,
  value2: 300,
  value3: 400
}, {
  date: '01/01/3017',
  value1: 500,
  value2: 300,
  value3: 400
}];
var m = array.map(function(item) {
  return [item.date, item.value1]
})

console.log(m)
[['01/01/2017',200],['01/01/2017',200]]

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.