How to pick elements by array from array of object
up vote
0
down vote
favorite
I have an array of object, and I want to remove some elements like this.
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var saveByKeys = ['a', 'c']
The result I want is:
var reuslt = [a:1, c:3, a:11, c:33]
How to use lodash to do that? One-line would be better
javascript functional-programming lodash
add a comment |
up vote
0
down vote
favorite
I have an array of object, and I want to remove some elements like this.
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var saveByKeys = ['a', 'c']
The result I want is:
var reuslt = [a:1, c:3, a:11, c:33]
How to use lodash to do that? One-line would be better
javascript functional-programming lodash
1
Which lodash methods did you try? The documents give examples for each method including ones that do what you are asking
– charlietfl
Nov 11 at 12:08
Welcome to SO. You might find reading the site help section useful when it comes to asking a good question. To get the best answers to your question we like to see a) that you've attempted to solve the problem yourself first, and b) used a Minimal, Complete, and Verifiable example to narrow down the problem. Asking SO to do all the work for you doesn't help you or us. Here's a question checklist you might find useful..
– Andy
Nov 11 at 12:18
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have an array of object, and I want to remove some elements like this.
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var saveByKeys = ['a', 'c']
The result I want is:
var reuslt = [a:1, c:3, a:11, c:33]
How to use lodash to do that? One-line would be better
javascript functional-programming lodash
I have an array of object, and I want to remove some elements like this.
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var saveByKeys = ['a', 'c']
The result I want is:
var reuslt = [a:1, c:3, a:11, c:33]
How to use lodash to do that? One-line would be better
javascript functional-programming lodash
javascript functional-programming lodash
edited Nov 11 at 12:14
Zoe
10.7k73575
10.7k73575
asked Nov 11 at 12:05
jack ho
92
92
1
Which lodash methods did you try? The documents give examples for each method including ones that do what you are asking
– charlietfl
Nov 11 at 12:08
Welcome to SO. You might find reading the site help section useful when it comes to asking a good question. To get the best answers to your question we like to see a) that you've attempted to solve the problem yourself first, and b) used a Minimal, Complete, and Verifiable example to narrow down the problem. Asking SO to do all the work for you doesn't help you or us. Here's a question checklist you might find useful..
– Andy
Nov 11 at 12:18
add a comment |
1
Which lodash methods did you try? The documents give examples for each method including ones that do what you are asking
– charlietfl
Nov 11 at 12:08
Welcome to SO. You might find reading the site help section useful when it comes to asking a good question. To get the best answers to your question we like to see a) that you've attempted to solve the problem yourself first, and b) used a Minimal, Complete, and Verifiable example to narrow down the problem. Asking SO to do all the work for you doesn't help you or us. Here's a question checklist you might find useful..
– Andy
Nov 11 at 12:18
1
1
Which lodash methods did you try? The documents give examples for each method including ones that do what you are asking
– charlietfl
Nov 11 at 12:08
Which lodash methods did you try? The documents give examples for each method including ones that do what you are asking
– charlietfl
Nov 11 at 12:08
Welcome to SO. You might find reading the site help section useful when it comes to asking a good question. To get the best answers to your question we like to see a) that you've attempted to solve the problem yourself first, and b) used a Minimal, Complete, and Verifiable example to narrow down the problem. Asking SO to do all the work for you doesn't help you or us. Here's a question checklist you might find useful..
– Andy
Nov 11 at 12:18
Welcome to SO. You might find reading the site help section useful when it comes to asking a good question. To get the best answers to your question we like to see a) that you've attempted to solve the problem yourself first, and b) used a Minimal, Complete, and Verifiable example to narrow down the problem. Asking SO to do all the work for you doesn't help you or us. Here's a question checklist you might find useful..
– Andy
Nov 11 at 12:18
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
You can use lodash's _.pick()
with Array.map()
(or lodash's _.map()
):
const data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
const saveByKeys = ['a', 'c']
const result = data.map(o => _.pick(o, saveByKeys))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
That's great, thanks a lot
– jack ho
Nov 11 at 12:11
add a comment |
up vote
0
down vote
If you want to avoid lodash
this is how this would look like with ES6:
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var keys = ['a', 'c']
const pick = (obj, keys) => keys.reduce((r,c) => (r[c] = obj[c], r),)
console.log(data.map(x => pick(x, keys)))
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
You can use lodash's _.pick()
with Array.map()
(or lodash's _.map()
):
const data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
const saveByKeys = ['a', 'c']
const result = data.map(o => _.pick(o, saveByKeys))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
That's great, thanks a lot
– jack ho
Nov 11 at 12:11
add a comment |
up vote
1
down vote
You can use lodash's _.pick()
with Array.map()
(or lodash's _.map()
):
const data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
const saveByKeys = ['a', 'c']
const result = data.map(o => _.pick(o, saveByKeys))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
That's great, thanks a lot
– jack ho
Nov 11 at 12:11
add a comment |
up vote
1
down vote
up vote
1
down vote
You can use lodash's _.pick()
with Array.map()
(or lodash's _.map()
):
const data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
const saveByKeys = ['a', 'c']
const result = data.map(o => _.pick(o, saveByKeys))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
You can use lodash's _.pick()
with Array.map()
(or lodash's _.map()
):
const data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
const saveByKeys = ['a', 'c']
const result = data.map(o => _.pick(o, saveByKeys))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
const data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
const saveByKeys = ['a', 'c']
const result = data.map(o => _.pick(o, saveByKeys))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
const data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
const saveByKeys = ['a', 'c']
const result = data.map(o => _.pick(o, saveByKeys))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
answered Nov 11 at 12:09
Ori Drori
71.6k127489
71.6k127489
That's great, thanks a lot
– jack ho
Nov 11 at 12:11
add a comment |
That's great, thanks a lot
– jack ho
Nov 11 at 12:11
That's great, thanks a lot
– jack ho
Nov 11 at 12:11
That's great, thanks a lot
– jack ho
Nov 11 at 12:11
add a comment |
up vote
0
down vote
If you want to avoid lodash
this is how this would look like with ES6:
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var keys = ['a', 'c']
const pick = (obj, keys) => keys.reduce((r,c) => (r[c] = obj[c], r),)
console.log(data.map(x => pick(x, keys)))
add a comment |
up vote
0
down vote
If you want to avoid lodash
this is how this would look like with ES6:
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var keys = ['a', 'c']
const pick = (obj, keys) => keys.reduce((r,c) => (r[c] = obj[c], r),)
console.log(data.map(x => pick(x, keys)))
add a comment |
up vote
0
down vote
up vote
0
down vote
If you want to avoid lodash
this is how this would look like with ES6:
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var keys = ['a', 'c']
const pick = (obj, keys) => keys.reduce((r,c) => (r[c] = obj[c], r),)
console.log(data.map(x => pick(x, keys)))
If you want to avoid lodash
this is how this would look like with ES6:
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var keys = ['a', 'c']
const pick = (obj, keys) => keys.reduce((r,c) => (r[c] = obj[c], r),)
console.log(data.map(x => pick(x, keys)))
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var keys = ['a', 'c']
const pick = (obj, keys) => keys.reduce((r,c) => (r[c] = obj[c], r),)
console.log(data.map(x => pick(x, keys)))
var data = [a:1, b:2, c:3, d:4, a:11, b:22, c:33, d:44]
var keys = ['a', 'c']
const pick = (obj, keys) => keys.reduce((r,c) => (r[c] = obj[c], r),)
console.log(data.map(x => pick(x, keys)))
edited Nov 11 at 23:43
answered Nov 11 at 20:06
Akrion
8,35411223
8,35411223
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248556%2fhow-to-pick-elements-by-array-from-array-of-object%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Which lodash methods did you try? The documents give examples for each method including ones that do what you are asking
– charlietfl
Nov 11 at 12:08
Welcome to SO. You might find reading the site help section useful when it comes to asking a good question. To get the best answers to your question we like to see a) that you've attempted to solve the problem yourself first, and b) used a Minimal, Complete, and Verifiable example to narrow down the problem. Asking SO to do all the work for you doesn't help you or us. Here's a question checklist you might find useful..
– Andy
Nov 11 at 12:18