javascript - 使用 jQuery.map 修改对象?

标签 javascript jquery

我有一个像这样的键值对

var classes = { red: 'Red', green: 'Green' };

如何为每个键添加特定值?这可以使用 jQuery.map 完成吗?

我要找的最终结果是

classes = { 'a-red': 'Red', 'a-green': 'Green' };

最佳答案

给定的答案是可行的,但它们不如使用像 $.map 这样的纯函数结构那么有趣。这是一个纯功能版本:

$.extend.apply(null, $.map(classes, function(v,k) { var h = {}; h["a-" + k] = v; return h }));

这分两步进行:首先,映射对原始对象的键值对进行操作,并返回单值对象列表。其次,$.extend function将所有这些组合成一个对象; .apply method用于将参数作为数组传递给函数。

不幸的是,缺乏一种很好的方法来制作具有可变键名的对象字面量,这使得这种方式变得丑陋,而且可能效率不高,但却是一个漂亮的单行代码!

关于javascript - 使用 jQuery.map 修改对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3890615/

相关文章:

javascript - 在 React/JSX 中将花括号呈现为纯文本

javascript - 如何通过使用 Javascript 单击按钮使图像 move ?

javascript - Facebook、google 和 twitter 官方登录按钮在同一行且设计良好

javascript - 在一个选择标签中显示 JSON 对象

javascript - 按钮循环生成多个 Jquery 日期选择器

javascript - node.js 错误 : req. flash() 需要 session

javascript - 我应该如何实现将状态保存到 localStorage?

javascript - Jquery 隐藏在 .on() 内部不起作用

javascript - 表单元素容器高度

javascript - 如何在 div 中滑动或动画化多个元素?