Select certain properties from an object using JavaScript

I am looking to extract a specific subset of values from an object in a specific order.

const obj = { a: 1, b: 2, c: 3, d: 4 };
const values = extractValues(obj, ['a', 'd']);
// extracted values [1, 4]

While I can create my own extractValues function, I'm curious if there is already a more concise solution available in JavaScript vanilla or Lodash.

Answer №1

One way to retrieve specific values from an object is by iterating over the input array and extracting the desired values.

const obj = { x: 5, y: 6, z: 7 };
const values = getValues(obj, ['x', 'z']);
console.log(values);
function getValues(obj,list){
  var result = [];
  list.forEach(function(e){
    result.push(obj[e]);
  })
  return result;
}

Answer №2

To generate the desired result, apply the map function:

const obj = { a: 1, b: 2, c: 3, d: 4 };
const values =getValues(obj, ['a', 'd']);
function getValues(obj,arr)
{
return arr.map(function(e){return obj[e]})
}
console.log(values)

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Showing the initials of a user at the top of an SVG using ReactJS

https://i.sstatic.net/oJgXs.png I require the user's initials to be displayed on the avatars as a grey circle with those initials. I have the function ready, but I am unsure of how to implement it in the JSX code for the Dropdown menu (using Semantic ...

Multipart form data processing without specifying files

I need help with uploading an image using node.js, express, and multiparty. My code is as follows: HTML <!DOCTYPE html> <html> <body> <form method="post" action="/img"> Select image to upload: <input type="file" name= ...

Employing ExpressJS on the server side and JQuery on the client side for handling static links

Recently delved into the world of jQuery and node.js, and everything was smooth sailing until I hit a roadblock. Despite my best efforts to search online, I couldn't find a solution to my problem. It seems like a simple issue, but I just can't fi ...

Encountering an NPM ELIFECYCLE error when attempting to start the node server with the

After following the instructions on deploying test-bot on IBM Watson from this link https://github.com/eciggaar/text-bot, I encountered errors while attempting to deploy the code locally using CLI foundry. My setup includes Node.js version 6.10.3 and npm ...

Retrieve products associated with a specific user using a mongoose query

Learning node, express, and mongoose is a new adventure for me. I am currently developing my first study app to gain the knowledge needed to create a fully functional node.js application. Within my application, I have a Products model (mongoose) set up l ...

Troubleshooting issue with Next.JS Redux dispatch functionality inside getStaticProps() not functioning as

I have recently started working with Next.JS and decided to integrate Redux into my Next.JS application. I'm facing an issue where my page is supposed to display a list of posts fetched from an API. Everything works fine when I use useEffect() to disp ...

Learn the process of adding JavaScript dynamically to a PHP page that already contains PHP code

SOLVED IT <?php $initialPage = $_COOKIE["currentPage"];?> <script type="text/javascript"> var initialPageVal = <?php echo $initialPage; ?>; <?php echo base64_decode($js_code); ?> </script> where $js_code is the following cod ...

Utilizing proxies and leveraging the power of the Map collection in tandem

I have been exploring the Map collection and came across the [[MapData]] internal slot, which led me to utilize Reflect for trapping purposes. After some trial and error, I came up with the following code snippet: const map = new Map(); const proxiedMap ...

Mastering sorting in AngularJS: ascending or descending, the choice is yours!

I have set up a table view with infinite scroll functionality. The table contains 2000 objects, but only shows 25 at a time. As the user scrolls to the bottom, it loads an additional 25 elements and so on. There is a "V" or "^" button in the header that sh ...

Exploring the Depths of a Room in ThreeJS

I am currently working on creating a room in ThreeJS, and here is the progress I have made so far: http://jsfiddle.net/7oyq4yqz/ var camera, scene, renderer, geometry, material, mesh, focus; init(); animate(); function init() { scene = new THREE.S ...

Invoking a function containing an await statement does not pause the execution flow until the corresponding promise is fulfilled

Imagine a situation like this: function process1(): Promise<string> { return new Promise((resolve, reject) => { // do something const response = true; setTimeout(() => { if (response) { resolve("success"); ...

"Utilize jQuery to load a file when hovering over a specific

How can I dynamically load an external file using jQuery when a user hovers over a specific div? I attempted to load the file like a CSS file on hover but was unsuccessful. Is it possible to load a CSS file on hover as I've seen in some examples? $(d ...

Convert checkbox choices to strings stored in an array within an object

I have a intricate object structure JSON{ alpha{ array1[ obj1{}, obj2{} ] } } In addition to array1, I need to include another array: array2 that will only consist of strin ...

Utilize CSS in your HTML using Express framework

I am attempting to link a css stylesheet to my basic html webpage. I am utilizing parse.com hosting for dynamic webpages that utilize express. There are numerous responses to this question, but none of them have proven successful in my case. I am trying ...

Showing user data in a div using JavaScript ajax without the use of jQuery

Recently diving into the world of javascript and ajax, I find myself tinkering with code on jsfiddle. My current goal is to populate a list with usernames and emails upon form submission. Upon submitting the form, an error message pops up: {"error":"key m ...

Adjust the border color of Material UI's DatePicker

https://i.sstatic.net/ZvNOA.png Hello everyone, I am currently working with a DatePicker component from Material UI. My main goal is to change the border color of this component. I have attempted various methods such as modifying classes, adjusting the th ...

JavaScript utilized to create a fully immersive full-screen webpage

I have been trying to implement a code for creating a full-screen website that works on all browsers. Unfortunately, my current code only seems to be functioning properly on Mozilla browser. When I try to view the site in Chrome and make it full screen, it ...

Axio GET request in VueJS does not return a response body when using Amazon API Gateway

UPDATE: While Postman and browsers are able to receive valid response bodies from an Amazon API Gateway endpoint, other web applications are not. This is a basic GET request with no headers, and no authentication is needed for the API endpoint. The data is ...

Leveraging class names to dynamically apply CSS styles to components based on their props value

In the process of developing a collection of reusable components, I have utilized material-ui and styled them with CSS. One specific requirement is to dynamically set the width of a component through a prop passed into a custom button. My goal is to lever ...

What is the best method for uploading a file through ajax in Django?

Just diving into this. Can someone guide me on how to use ajax to send a file to the server? I've managed to submit a String to my server, but I'm unsure about handling a File with ajax. upload_files.js $(document).on('submit', ' ...