Table of Contents
Object.assign()
Example
for-in loop
JSON.parse() and JSON.stringify()
in conclusion
Home Web Front-end JS Tutorial How to create a new object from a specified object where all keys are lowercase in JavaScript?

How to create a new object from a specified object where all keys are lowercase in JavaScript?

Sep 17, 2023 pm 12:09 PM

如何从指定对象创建一个新对象,其中所有键在 JavaScript 中都是小写?

In JavaScript, there are many ways to create new objects from old objects. Creating a new object with the same keys as an existing object but with all keys in lowercase is a common use case. This is helpful when working with data from many sources with irregular key casing. In this blog post, we will look at various JavaScript methods for creating new objects using lowercase keys.

Before we do that, however, it's important to remember that while creating new objects with lowercase keys can be helpful when working with data from a variety of sources, it's also important to be aware of the possible consequences of changing key case.

For example, it might break code that currently expects a key to be in a certain situation, or it might interfere with an external API or database that expects a key to be in a certain situation. Before changing the key case of an object, always run thorough tests on your code and consider the specific requirements of your use case.

Object.assign()

New objects can be created by joining one or more existing objects together using the built-in JavaScript method Object.assign(). It is also possible to change an object's key shell by generating a new object with the same keys as the original object but with all keys in lowercase. Basic syntax for creating a new object with lowercase keys using Object.assign().

Example

<html>
<body>
   <div id="myDiv"></div>
   <script>
      var original = {name: "John", AGE: 25};
      var lowercase = Object.assign({}, original);
      document.getElementById("myDiv").innerHTML = JSON.stringify(lowercase);
   </script>
</body>
</html>
Copy after login

In this example, the function Object.assign() generates a new object and assigns it the properties of the original object. The same keys from the old object will appear in the new object, but they will be lowercase.

You can use the Object.keys() function to iterate over the keys of the original object and change them to lowercase before passing them to Object.assign() -

Example

<html>
<body>
   <div id="myDiv"></div>
   <script>
      var original = { name: "John", AGE: 25 };
      var lowercase = Object.assign(
         {},
         ...Object.keys(original).map((k) => ({
            [k.toLowerCase()]: original[k],
         }))
      );
      document.getElementById("myDiv").innerHTML = JSON.stringify(lowercase);
   </script>
</body>
</html>
Copy after login

This method uses the Object.keys() method to get the keys array of the original object. The Array.map() method is used to iterate over the keys and create a new object with the same keys but in lowercase. The new object is then passed to Object.assign() using the spread operator.

for-in loop

Using a for-in loop to iterate over the keys of the original object and generate a new object with the same keys but in lowercase is another way to build a new object with lowercase keys. The basic syntax for using a for-in loop to create a new object with lowercase keys is -

Example

<html>
<body>
   <div id="myDiv"></div>
   <script>
      var original = { name: "John", AGE: 25 };
      var lowercase = {};
      for (var key in original) {
         lowercase[key.toLowerCase()] = original[key];
      }
      document.getElementById("myDiv").innerHTML = JSON.stringify(lowercase);
   </script>
</body>
</html>
Copy after login

In this example, the toLowerCase() function is used to change each key from uppercase to lowercase and assign the associated value to the new object. Then the for-in loop iterates over the keys of the original object.

JSON.parse() and JSON.stringify()

Using the JSON.parse() and JSON.stringify() methods is a third way to create new objects with lowercase keys. When using these techniques to construct new objects with lowercase keys, the basic syntax is -

Example

<html>
<body>
   <div id="myDiv"></div>
   <script>
      var original = { name: "John", AGE: 25 };
      var lowercase = JSON.parse(JSON.stringify(original).toLowerCase());
      document.getElementById("myDiv").innerHTML = JSON.stringify(lowercase);
   </script>
</body>
</html>
Copy after login

In this example, use the JSON.stringify() method to convert the original object to a JSON string. Then use the toLowerCase() method to convert all keys in the JSON string to lowercase.

Finally, use the JSON.parse() method to convert the JSON string back into a JavaScript object. By using this method, a new object is created that has the same keys as the original object, but with all keys in lowercase.

In fact, this method requires converting the object to a string and back again, which makes it less efficient than the first two methods. It also only works with simple objects; it may not work with objects with unique properties or methods.

in conclusion

In this article, we looked at various JavaScript methods for constructing new objects with lowercase keys. A quick and efficient way to generate a new object with the same keys as an existing object but all lowercase is to use the Object.assign() method. Another option to iterate over the keys of an object and generate a new object with the same keys but in lowercase is a for-in loop. Lowercase keys can also be used to construct new objects using the JSON.parse() and JSON.stringify() methods, although this method is less efficient and may not work with all types of objects.

The above is the detailed content of How to create a new object from a specified object where all keys are lowercase in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What should I do if I encounter garbled code printing for front-end thermal paper receipts? What should I do if I encounter garbled code printing for front-end thermal paper receipts? Apr 04, 2025 pm 02:42 PM

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

Demystifying JavaScript: What It Does and Why It Matters Demystifying JavaScript: What It Does and Why It Matters Apr 09, 2025 am 12:07 AM

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

Who gets paid more Python or JavaScript? Who gets paid more Python or JavaScript? Apr 04, 2025 am 12:09 AM

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

Is JavaScript hard to learn? Is JavaScript hard to learn? Apr 03, 2025 am 12:20 AM

Learning JavaScript is not difficult, but it is challenging. 1) Understand basic concepts such as variables, data types, functions, etc. 2) Master asynchronous programming and implement it through event loops. 3) Use DOM operations and Promise to handle asynchronous requests. 4) Avoid common mistakes and use debugging techniques. 5) Optimize performance and follow best practices.

How to achieve parallax scrolling and element animation effects, like Shiseido's official website?
or:
How can we achieve the animation effect accompanied by page scrolling like Shiseido's official website? How to achieve parallax scrolling and element animation effects, like Shiseido's official website? or: How can we achieve the animation effect accompanied by page scrolling like Shiseido's official website? Apr 04, 2025 pm 05:36 PM

Discussion on the realization of parallax scrolling and element animation effects in this article will explore how to achieve similar to Shiseido official website (https://www.shiseido.co.jp/sb/wonderland/)...

The Evolution of JavaScript: Current Trends and Future Prospects The Evolution of JavaScript: Current Trends and Future Prospects Apr 10, 2025 am 09:33 AM

The latest trends in JavaScript include the rise of TypeScript, the popularity of modern frameworks and libraries, and the application of WebAssembly. Future prospects cover more powerful type systems, the development of server-side JavaScript, the expansion of artificial intelligence and machine learning, and the potential of IoT and edge computing.

How to merge array elements with the same ID into one object using JavaScript? How to merge array elements with the same ID into one object using JavaScript? Apr 04, 2025 pm 05:09 PM

How to merge array elements with the same ID into one object in JavaScript? When processing data, we often encounter the need to have the same ID...

The difference in console.log output result: Why are the two calls different? The difference in console.log output result: Why are the two calls different? Apr 04, 2025 pm 05:12 PM

In-depth discussion of the root causes of the difference in console.log output. This article will analyze the differences in the output results of console.log function in a piece of code and explain the reasons behind it. �...

See all articles