2017-02-20 36 views
-1

如何以函数形式编写下面的代码?将函数形式的数组写入对象

var obj = { 
    name : 'Tim', 
    age : 20, 
    hasPets : false 
}; 
console.log(Object.keys(obj).map(function(item){ 
    return obj[item]; 
})); //=> [ 'Tim', 20, false ] 

例如 - 这种类型的函数形式:

function objectToArray(obj) { 
//code here 
}; 

谢谢!

+0

它不应该被称为'objToArray'? – Barmar

+0

只需将您的阻塞代码放入arrayToObject函数中?你期望的究竟是什么I/O? – Digix

+0

你的问题很混乱。你想要的对象数组(如标题所示),或数组对象(作为您提供的示例函数名称建议)? – rasmeister

回答

1

这应该做

function getMappedItems(obj) { 
    var result = Object.keys(obj).map(function(item){ 
    return obj[item]; 
    }); 
return result; 
}; 

可以减少上述功能了一点,但只是阐述了你学习。

https://jsfiddle.net/sureshatta/be7q88qv/

+0

我们至少改变函数名称来匹配它呢? – rasmeister

1
var objectToArray= function (obj) { 
     return Object.keys(obj).map(function(item){ 
      return obj[item]; 
     }); 
}; 
0

您应该使用Object.prototype.objectToArray一个优雅的方式。

var obj = { 
 
    name : 'Tim', 
 
    age : 20, 
 
    hasPets : false 
 
}; 
 

 
Object.prototype.objectToArray=function(){ 
 
    return Object.keys(obj).map(function(item){ 
 
     return obj[item]; 
 
    }); 
 
}; 
 
console.log(obj.objectToArray())

+0

伙计,不要修改Object.prototype。 – Cerbrus

+0

@Cerbrus,请解释为什么不? –

+0

@ Alexandru-IonutMihai我只知道你会因我的意见而低估我xD FYI:我没有倒下你。 –