2017-02-20 38 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:我沒有倒下你。 –