在Javascript中将对象转换为数组
Javascript是一种广泛而多样的编程语言,具有丰富的特性可以将对象转换为数组。这些方法在语言本身中预定义。让我们来看看在javascript中将对象转换为数组的不同方法。
要在Javascript中将对象转换为数组,可以使用不同类型的方法。其中一些方法是Object.keys(),Object.values()和Object.entries()。
请看下面的示例来了解上述方法。
方法1:Object.keys()
const animal = {
first: 'The',
last: 'Lion'
};
const propertyNames=Object.keys(animal);
console.log(propertyNames);
输出:
The Lion
在上面的示例代码中,我们使用了Object.keys()方法将动物对象的属性名称转换为一个数组。我们定义了变量 animal ,其中包含了动物对象的首字母和尾字母,然后通过Object.keys()方法将它们转换为一个数组。
方法2: Object.values()
const animal = {
first: 'The',
last: 'Lion'
};
const propertyValues=Object.values(animal);
console.log(propertyValues);
输出:
['The', 'Lion']
在这个方法中,我们使用了Object.values()方法来提取animal对象的属性。Object.values()方法将定义的animal对象转换为数组,并将输出打印在控制台上,如上所示。
方法3:Object.entries()
const animal = {
first: 'The',
last: 'Lion'
};
const entries=Object.entries(animal);
console.log(entries);
输出:
[['first', 'The '] , ['last', 'Lion'] ]
在这种方法中,对象被转换成数组,并在输出中显示。Object.entries()方法将对象的可枚举基于字符串的属性转换为数组。输出以这种方式打印是因为Object.entries()方法正确地定义了对象的每个方面,以便在调试时可以注意到将哪个属性分配给定义对象的哪个字符串。
这些是将对象转换为数组的一些常见方法。上述方法也可以被集体定义为一段代码片段,并且方法也可以集体应用于对象的属性。它们都将被转换为相应的数组。请考虑以下示例,展示了将对象集体定义为一个片段的用法。
const Snakes = {
'Cobra':{
Venom: 96%,
Attack: 99%
},
'Viper':{
Venom: 98%,
Attack: 96%
},
'InlandTaipan':{
Venom: 100%,
Attack: 100%
}
}
在上面的代码片段中,我们共同定义了常量变量Snakes,其属性定义为 venom 和 attack 。我们为不同的蛇的所有属性分配了不同的值。现在,您可以使用我们讨论过的所有上述定义的方法,以及键、条目或值。
让我们看一些更多不同的编码示例,以了解更多关于将JavaScript对象转换为数组的内容。请考虑下面的代码片段。
示例1:
var object = {"0":5,"1":7,"2":4,"3":6,"4":7,"5":8,"6":12,"7":11,"8":2}
var covert = Object.keys(object).map(function(key)
{
return [Number(key), object[key]];
});
console.log(convert);
这里,值将根据在对象变量中定义的键的顺序进行显示。我们为不同的键值分配了不同的数字,并且变量convert
将使用Object.keys()
方法将这些键映射,并且将以定义的对象变量的数组形式在控制台上显示。
示例2:
var superHeroes = {'Captain America':1,'Thor':8,'Iron Man':null};
//convert object keys to array
var k = Object.keys(superHeroes);
//convert object values to array
var v = Object.values(superHeroes);
在这里,我们定义了一个名为 superHeroes 的变量,其对象值如上所示。由于我们已经学过在JavaScript中将对象转换为数组的三种方法,因此我们在这里应用相同的概念将它们转换为数组。
示例3:
const sampleArray = [
['one', 1],
['two', 2],
];
Object.fromEntries(sampleArray);
输出:
{ one: 1, two: 2 }
在上面的示例中,我们使用了一个具有各自属性和值的数组来定义它们。在这里,Object.entries() 方法将对象的属性转换为数组,如输出所示。
总结
在本文中,我们了解了JavaScript中可以将具有某些不确定或确定属性的对象转换为不同类型的数组的各种方法。我们还了解了一些常见的方法,如keys、objects和entries等。考虑到使用它们的优点,这些方法在大多数情况下都非常有用,因为通常需要以关联或有序的方式获取输出。我们还可以通过将这些对象转换为数组来定义它们,以进行抽象方法,以便只显示所需的数据而不是其他数据。