JavaScript数组到对象?
编写一个名为“convertObjectToList”的函数,将对象文字转换为数组数组,如下所示: 论据:JavaScript数组到对象?,javascript,arrays,object,Javascript,Arrays,Object,编写一个名为“convertObjectToList”的函数,将对象文字转换为数组数组,如下所示: 论据: { name: 'Holly', age: 35, role: 'producer' } 返回值: [['name', 'Holly'], ['age', 35], ['role', 'producer']] 请注意,您的函数应该能够处理像这样的任何对象,而不仅仅是上面提供的确切示例 例如,它还应该能够处理这个或任何其他包含简单键值对的对象 { species: 'ca
{
name: 'Holly',
age: 35,
role: 'producer'
}
返回值:
[['name', 'Holly'], ['age', 35], ['role', 'producer']]
请注意,您的函数应该能够处理像这样的任何对象,而不仅仅是上面提供的确切示例
例如,它还应该能够处理这个或任何其他包含简单键值对的对象
{
species: 'canine',
name: 'Bowser',
weight: 45
}
我试图获得一个对象的大小,然后通过在for循环中一次为array[number]分配一个值和一个键,将其转换为一个数组。当我调用sizex(obj1)时,你能告诉我怎么做吗;我得到3,但当我调用convertObjectToList(obj1)时;我得到空数组:[] 大约10天前我学习了JS,由于我正在学习,有些任务仍然有点混乱。欢迎任何帮助 以下是我目前掌握的代码:
var names = [];
var values = [];
var sizex = function(obj) {
var num = 0;
var lol;
for (lol in obj) {
if (obj.hasOwnProperty(lol)) num++;
}
return num;
};
function convertObjectToList(obj) {
// your code here
for (j = 0; j < sizex; j++) {
for (var name in obj) {
names[j] = name;
values[j] = obj[name];
}
}
return names.concat(values);
}
var obj1 = {
name: 'Holly',
age: 35,
role: 'producer'
}
sizex(obj1);
convertObjectToList(obj1);
var name=[];
var值=[];
var sizex=功能(obj){
var num=0;
var-lol;
用于(对象中的lol){
if(obj.hasOwnProperty(lol))num++;
}
返回num;
};
函数转换对象列表(obj){
//你的代码在这里
对于(j=0;j
谢谢你们,这两个代码都能工作,第二个代码更简单,但网站给了我一个错误,说“converts\u some\u other\u data=false”,第一个代码完全工作了。再次感谢 您可以使用
Object.keys()
和map()
var data={name:'Holly',年龄:35岁,角色:'producer'}
功能到阵列(obj){
返回Object.keys(obj.map)(e=>[e,obj[e]]
}
console.log(toArray(data))
您可以使用Object.keys()
和map()
var data={name:'Holly',年龄:35岁,角色:'producer'}
功能到阵列(obj){
返回Object.keys(obj.map)(e=>[e,obj[e]]
}
console.log(toArray(data))
在ES2017中有一个函数正好可以做到这一点:
它在node.js版本(7.2.0)中工作,没有任何标志或任何东西。它可能也适用于早期版本,但我不确定要追溯到多久。在ES2017中有一个函数可以做到这一点:
它在node.js版本(7.2.0)中工作,没有任何标志或任何东西。它可能也适用于早期版本,但我不知道有多远。可以使用var sizex=Object.keys(obj).length代替函数;可以使用var sizex=Object.keys(obj.length)代替函数;
const convertObjectToList = Object.entries;
convertObjectToList( {
name: 'Holly',
age: 35,
role: 'producer'
} );
// [['name', 'Holly'], ['age', 35], ['role', 'producer']]