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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.