将 JSON 对象转换为 JavaScript 数组

Shraddha Paghdar 2023年10月12日
  1. 使用 for...in 循环将 JSON 对象转换为 JavaScript 中的数组
  2. 使用 Object.entries() 循环将 JSON 对象转换为 JavaScript 中的数组
将 JSON 对象转换为 JavaScript 数组

与许多其他编程语言一样,JavaScript 中的对象可以与现实生活中的对象进行比较。在 JavaScript 中,对象是具有属性和类型的独立实体。

例如,将其与杯子进行比较。汽车是具有属性的对象。汽车具有颜色、设计、型号、品牌等。同样,JavaScript 对象可以具有定义其特征的属性。

数组是特殊类型的对象,其键以数字形式预定义。任何 Javascript 对象都可以转换为数组。数组必须使用整数而不是字符串作为元素索引。

在本文中,我们将学习如何将 JSON 对象转换为数组。

使用 for...in 循环将 JSON 对象转换为 JavaScript 中的数组

要将对象转换为数组,可以使用 JavaScript 中的 for...in 循环。它遍历对象的所有字符串编码的可枚举属性,包括继承的可枚举属性。例如,让我们创建一个具有两个属性的对象,并使用 for...in 循环将其转换为数组。请参阅下面的代码。

语法:

for (variable in object) {
  statement
}

该函数迭代 object变量 在每次迭代期间被分配一个不同的属性名称。此方法仅从 object 中提取可枚举属性。有关更多信息,请阅读 for...in 方法的文档。

const object = {
  1: 'Hello',
  2: 'World'
};
const array = [];

for (var i in object) {
  array.push([i, object[i]]);
}
console.log(array)

在上面的示例中,我们定义了对象 1 和 2 的两个属性。当你迭代对象时,会检查对象中的所有属性,并将键与值一起推送到数组中。当你在任何浏览器中运行上述代码时,它会打印出类似这样的内容。

输出:

[["1", "Hello"], ["2", "World"]]

使用 Object.entries() 循环将 JSON 对象转换为 JavaScript 中的数组

Object.entries() 方法返回特定于给定对象的字符串键可枚举属性对数组。它对应于带有 for...in 循环的迭代。唯一的区别是 for...in 循环还列出了原型字符串的属性。

Object.entries() 以与 for...in 循环提供的顺序相同的顺序返回数组。

语法:

Object.entries(obj);

entries() 方法将 Object 作为参数,返回其自己的可枚举字符串键属性对。它返回给定对象自己的可枚举字符串键属性对的数组。Object.entries() 返回一个数组,其元素是对象中的可枚举字符串键属性对。

有关更多信息,请阅读 Object.entries() 方法的文档。

const object = {
  1: 'Hello',
  2: 'World'
};

const array = []

    for (const [key, value] of Object.entries(object)) {
  array.push([`${key}`, `${value}`]);
}
console.log(array)

在上面的例子中,我们定义了一个数组的两个属性。当你使用条目迭代对象时,它将为你提供要推送到数组的键和属性。当你在任何浏览器中运行上述代码时,它会打印出类似这样的内容。

输出:

[["1", "Hello"], ["2", "World"]]
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

相关文章 - JavaScript JSON

相关文章 - JavaScript Object