Transforming a JavaScript string into a pre-established JavaScript variable

I'm facing a challenge here. I have a function that accepts a path and also need to condition it with a variable.

Here's the issue: I want to create a string type that will serve as an access point for my variable. In this case, I have a roles.operation variable that I aim to access dynamically.

The roles variable contains an array with values including:

roles.operations = ['document','article','document-type'];

Using this variable dynamically is my goal.

This is what I attempted, where in the replacePath I have the value of document-type:

export const createVariable = (roles,path) => {
     const replacePath = path.replace(/-/g,"_"); 
     const finalPath = window[`roles.operations.${replacePath}`];
     console.log(finalPath);
}

However, this returned undefined.

Answer №1

Give this method a shot:

const newPath = window['roles']['operations'][updatePath];

alternatively

const newPath = window.roles.operations[updatePath];

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

When transmitting a file to the client via HTTP, make sure to include the file name in the HTTP headers

I've encountered a situation where I have an array in JS that needs to be converted to CSV format on the server and sent to the client with the content type set as text/csv However, when it's sent to the client, the browser automatically downloa ...

Which is better: Leveraging multiple middlewares in node.js and express, or sticking with callbacks?

My query is related to creating an HTTP service using express that requires running some pre-checks before executing the actual function (and halting the function if any of the pre-checks fail). For instance, the process involves checking if the request h ...

Error Encountered: AJAX Request Failed with 400 Bad Request

I've been using mithril.js to communicate with my node back-end. I followed the documentation and added an AJAX request, but there seems to be limited information available on mithril. Encountered Error: mithril.js:2130 POST http://localhost:3000/a ...

Why does Math.max.apply not prioritize the first parameter?

function findSmallestNumber(numbers){ return Math.min.apply(Math, numbers); } This code sets the context to be the Math object. However, this is not required because the min() and max() methods will still function properly regardless of the specified co ...

Obtaining the data stored in objects within a parse database

I'm currently facing an issue where I am trying to retrieve the name of the creator from the session object, which is a pointer. For testing purposes, I have been attempting to access this information but it keeps showing up as undefined. Any suggesti ...

Importing textures and loading mtl files in Three.js from various web addresses

Something strange is happening with my Roblox API integration. I'm trying to retrieve the OBJ file, MTL file, and Texture file using the API. The main API link I have is https://t2.rbxcdn.com/ef63c826300347dde39b499e56bc874b, which leads me to two cru ...

What is the best approach to concurrently update a single array from multiple functions?

In my React app, I have a form with various input fields and checkboxes. Before making an API call to submit the data, I have functions set up to check if any fields are left blank or unchecked. These check functions are triggered when the form button is ...

Having trouble with the javascript dropdown functionality

I am currently facing an issue with my Javascript menu. The hover and click functionality for the main menu items is working perfectly fine, but I am struggling to make the dropdown feature work. Here is the code snippet from menu.js: /* When the user cl ...

Retrieve data from a URL using Angular 6's HTTP POST method

UPDATE: Replaced res.json(data) with res.send(data) I am currently working on a web application using Angular 6 and NodeJS. My goal is to download a file through an HTTP POST request. The process involves sending a request to the server by calling a func ...

Choose the date that is exactly 48 hours from now

I need to implement a date picker that shows today's date and the next 2 days in a select component. Can this be achieved using JavaScript and jQuery? While I came across a similar post on the topic, I specifically want it to work with a date picker: ...

transferring the information through the $scope parameter

After retrieving data from my web service, I am storing it in my scope variable like this: then(function (Tlist) { $scope.Tlist=Tlist.data; }) I then display this data in a table, where I can select rows using checkbox ...

Highlighted text area: offsetting occurs when empty lines are present

I'm trying to implement a multi-value textarea that reads and writes from/to an ng-model(array). Additionally, I have a div (highlighter) acting as a mask with the same values as the ng-model. It highlights values that return false for "NaN(value)". ...

Update the value in a nested object array by cross-referencing it with a second nested object array and inserting the object into the specified

I have a large array of objects with over 10,000 records. Each object contains an array in a specific key value, which needs to be iterated and compared with another array of objects. If there is a match, I want to replace that value with the corresponding ...

Modify the values of all cells within a specific column in a table by utilizing a 2D array for both rows and cells

https://codesandbox.io/s/1p770371j The demonstration above showcases a table where data can be modified in each cell, and the 2D array keeps track of which row and column the data changes occur. A new button has been added to the column header titles. Th ...

What is the best way to ensure a table is responsive while maintaining a fixed header? This would involve the table scrolling when it reaches the maximum viewpoint, while also keeping

Can anyone help me create a responsive table with a fixed header that scrolls when it reaches the maximum viewpoint without scrolling the entire page? I've tried using box-sizing: border-box; and overflow-x:scroll; but it didn't work. Any suggest ...

There seems to be an issue with the functionality of the operators in the Calculator Javascript

I'm currently working on a Javascript calculator project for FreeCodeCamp and encountering an issue with the code. Whenever I input an operator like "-", "+", "x", etc., the numbers in the history section start repeating themselves. For example, if I ...

The email protected function is failing to display components and is not generating any error logs

<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="05776064667128776a7071607728616a6845332b31">[email protected]</a> seems to be having trouble rendering components. I've been away from React for a bit and now I ...

Integrating Cache and Resolved Promises in Angular's UI-Router: A Comprehensive Guide

I have been working on an Angular app where I used to load all data before displaying any page through the ui-router resolve. However, I found that some data was being repeated, so I decided to cache the data using localStorage. Now I'm trying to figu ...

Is there a way to link a React component with cucumber.js?

I am looking to integrate React with Cucumberjs by creating a Word class that connects the App component. import { setWorldConstructor } from 'cucumber' import {render } from '@testing-library/react' import React from 'rea ...