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

如何使用Ramda复制对象数组并将对象属性名转为小写?

用Ramda实现对象属性名转小写的方案

嘿,这个需求用Ramda来实现其实挺直观的,咱们一步步拆解怎么做:

核心思路

要完成这个任务,我们需要做两件事:

  • 遍历数组里的每一个对象
  • 对每个对象,把所有属性名转成小写,同时保留属性值

Ramda提供了非常贴合的函数来组合实现这个逻辑:

代码实现

// 先引入需要的Ramda函数
const { map, mapKeys, toLower } = require('ramda');

// 你的原始Steps数组
const originalSteps = [{ One: 1, Two: 2 }, { One: 3, Two: 4 }];

// 定义转换函数:先处理单个对象的键,再遍历整个数组
const convertToLowercaseKeys = map(mapKeys(toLower));

// 执行转换
const convertedSteps = convertToLowercaseKeys(originalSteps);

// 输出结果:[{ one: 1, two: 2 }, { one: 3, two: 4 }]
console.log(convertedSteps);

逐部分解释

  • R.toLower: 负责把字符串转为小写,这里用来处理对象的属性名。
  • R.mapKeys(toLower): 这是处理单个对象的核心——mapKeys会遍历对象的所有属性名,对每个键应用toLower,生成一个属性名全小写、值完全保留的新对象。比如把{ One: 1, Two: 2 }变成{ one: 1, two: 2 }。
  • R.map(...): 把上面的单个对象处理函数应用到整个数组的每一个元素上,完成整个数组的转换。

如果你喜欢更简洁的写法,也可以直接把函数组合起来一行执行:

const convertedSteps = map(mapKeys(toLower))(originalSteps);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 18:29:08