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

如何使用jQuery $.each遍历对象字面量并替换指定字符串?

解决jQuery $.each遍历对象替换字符串的问题

嘿,我来帮你搞定这个问题~你之前的代码没生效,核心原因是你只返回了替换后的字符串,但没有把这个新值写回原对象的对应属性里,所以原对象foo根本没被修改。

正确的写法思路

在$.each的回调函数中,拿到每个属性的key和value后,执行字符串替换,然后把替换后的结果赋值给foo[key],这样原对象的内容才会被更新。

完整代码示例

首先是你的原始对象:

var foo = { 
  item1: "Mary had a little lamb", 
  item2: "Whose fleece was white as snow", 
  item3: "Johnny ha a little lamb", 
  item4: "What's the deal with lambs?" 
};

然后是修改后的$.each代码:

$.each(foo, function(key, value){
  // 将替换后的值赋值回原对象的对应属性,完成修改
  foo[key] = value.replace(/lamb/g, "lion"); 
});

补充说明

  • 我在正则里加了g修饰符,这是为了替换字符串中所有匹配的"lamb";如果你的需求只是替换每个字符串里的第一个"lamb",去掉g就可以了。
  • 执行完这段代码后,你可以通过console.log(foo)查看,原对象里的"lamb"已经全部变成"lion"啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:36:46