You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现arrToObj函数将数组转为以元素为键、回调返回值为值的对象

arrToObj 函数实现方案

实现思路提示

  • 第一步先声明一个空对象,用来存储最终要返回的结果
  • 遍历传入的数组的每个元素
  • 遍历过程中,以当前元素作为对象的键,调用回调函数传入当前元素得到的返回值作为对应键的值,存入空对象
  • 遍历结束后返回这个构造完成的对象

完整可运行代码

已修正原测试代码中重复调用arrToObj、括号不匹配的语法错误:

function arrToObj(array, callback) {
  const res = {}
  for (const item of array) {
    res[item] = callback(item)
  }
  return res
}

// 测试代码
const arrOfStrings = ['beer', 'glue'];
const capitalize = str => str.toUpperCase();
console.log(arrToObj(arrOfStrings, capitalize)); // 输出: { beer: 'BEER', glue: 'GLUE' }

极简写法(基于数组reduce方法)

如果习惯用高阶函数可以用这个更精简的版本:

function arrToObj(array, callback) {
  return array.reduce((acc, cur) => {
    acc[cur] = callback(cur)
    return acc
  }, {})
}

内容的提问来源于stack exchange,提问作者Matthew Schwer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:36:03