javascript - 迭代对象文字并替换字符串

标签 javascript jquery each

有人可以帮助我了解如何使用 jQuery $.each 循环对象文字并替换每个项目中匹配的字符串的语法吗?

如果我有:

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?"
}

我想用 lion 替换单词 lamb,我应该在 $.each 函数中的哪个位置替换该项目?

我已经尝试过:

$.each(foo, function(key, value){
     return value.replace(/lamb/, "lion");
}

但它并没有取代这些元素?

最佳答案

使用字符串replace替换文本并更新对象值的方法

var foo = {
  item1: "Mary had a little lamb",
  item2: "Whose fleece was white as snow",
  item3: "Johnny has a little lamb",
  item4: "What's the deal with lambs?"
}
$.each(foo, function(i) {
  foo[i] = foo[i].replace('lamb', 'lion')
});
console.log(foo)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 迭代对象文字并替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48472159/

相关文章:

javascript - 取表行隐藏字段值?

javascript - 在 Meteor 中使模板助手具有反应性

javascript - Ext JS 4.2.1 - 带分页的网格 - 复选框状态丢失

javascript - localStorage - clear() 或 removeItem()?

javascript - 单击以在 JavaScript 中缩放和调整图像大小

Javascript 延迟了 3 个独立的操作

javascript - 如何滑动切换 Selectize.js 下拉菜单?

javascript - jQuery 插件函数返回未定义的值

list - Sass if 在每个内部

javascript - 为什么我的 'this' 没有在每个循环内部 jQuery 中更改上下文?