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

如何使用JavaScript将键值对字符串数组转换为目标对象?

把键值对字符串数组转为对象的几种实现方式

嘿,这个需求其实很常见,我给你分享几种实用的实现方法,都能完美得到你想要的对象结构:

方法一:用 Object.fromEntries(ES6+ 最简洁写法)

这是ES6之后新增的API,专门用来把键值对数组转成对象,代码非常简洁:

let array = [ "Social Network: 1", "Tasks: 1", "Calendar: 1", "Journal: 1", "Business Contact Manager: 2" ];

const result = Object.fromEntries(
  array.map(item => {
    // 按": "拆分键和值,注意冒号后面有空格
    const [key, value] = item.split(': ');
    // 把值转成数字类型
    return [key, Number(value)];
  })
);

console.log(result);
// 输出:{ "Social Network": 1, "Tasks": 1, "Calendar": 1, "Journal": 1, "Business Contact Manager": 2 }

方法二:用数组的 reduce 方法(经典通用写法)

reduce 是处理数组转对象的经典工具,适合理解底层逻辑:

let array = [ "Social Network: 1", "Tasks: 1", "Calendar: 1", "Journal: 1", "Business Contact Manager: 2" ];

const result = array.reduce((obj, item) => {
  const [key, value] = item.split(': ');
  obj[key] = Number(value);
  return obj;
}, {}); // 初始值是空对象

console.log(result);

方法三:用 forEach 循环(最直观的新手友好写法)

如果你刚接触JS,forEach的写法更直白,容易理解:

let array = [ "Social Network: 1", "Tasks: 1", "Calendar: 1", "Journal: 1", "Business Contact Manager: 2" ];

const result = {};
array.forEach(item => {
  const [key, value] = item.split(': ');
  result[key] = Number(value);
});

console.log(result);

注意点

  • 拆分字符串的时候一定要用 ': '(冒号加空格),如果只用冒号的话,键的末尾会多一个空格,导致对象键名错误。
  • 一定要把拆分出来的 value 转成数字类型,不然默认会是字符串,不符合你想要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 21:43:11