对象怎么像数组那样进行map?

如题

比如下面这样:

var d = {a:2, b:3}
var dd = d.map(function(){
......
})
阅读 3k
4 个回答

Object.keys(d).map(function(key, index) {
......
});

// 方法一
for(let i in dd) { ... }

// 方法二
for(let i of dd) { ... }

// 方法三
Obejct.keys(d).map((item, index) => { ... })

map的本质还是循环处理数组,只不过返回的方式不太一样,如果变到对象其实也是一样,可以自己构建一个map方法,其原理是用for in实现,根据传入函数做处理,返回一个新的对象。

遍历对象属性主要用for-in,
for...of 只能遍历可迭代对象,包括 Array , Map , Set , String , TypedArray , arguments 对象等等

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题