【发布时间】:2017-06-18 13:35:18
【问题描述】:
我这里有这个功能:
var obj = {
name: 'Holly',
age: 35,
role: 'producer'
};
function convertObjectToList(obj) {
return Object.keys(obj).map(k => [k, obj[k]]);
}
convertObjectToList(obj);
此函数将数组转换为 obj。所以如果我有上面那个 obj 我会得到这样的东西:
[['name', 'Holly'], ['age', 35], ['role', 'producer']]
现在我想把重点放在这里:
return Object.keys(obj).map(k => [k, obj[k]]);
分解它,Object.keys 基本上返回一个给定对象自己的可枚举属性的数组,并在数组中迭代 map 等等。我正在尝试理解上面的箭头函数,并尝试将其分解为更简单易懂的代码。
function convertObjectToList(obj) {
Object.keys(obj).map(function(key){
obj = [key, obj[key]];
});
console.log(obj);
}
但是这个没有用。相反,它只返回 ["role", undefined]。
有没有人可以让我用外行术语理解并分解代码,以便我清楚地理解它。
对不起,我是初学者。菜鸟。
【问题讨论】:
-
需要return语句,箭头函数k => [k, obj[k]]等价于function(k){ return [k, obj[k]] }
标签: javascript arrays object