当我的配置文件中有一个普通数组时,我应该如何使用 jQuery 扩展?
似乎 $.extend 仅使用其输入的键来确定要覆盖的内容。因此,当我的配置如下所示
var config = {
"numeric" : false,
"keycode_whitelist" : [
37, 39, // Left, right
9, // Tab
17, // Ctrl
116 // F5
]
};
并使用更多键码扩展以添加到白名单时,扩展只是用新键码一一覆盖默认值,即使它们是不同的值。
我正在考虑通过键入 37: 37, 39: 39
等键来解决这个问题。我希望有一个不会强迫我搞乱配置语法的解决方案。
Seems $.extend
uses only the keys of its input to determine what to overwrite. So when my config looks like this
var config = {
"numeric" : false,
"keycode_whitelist" : [
37, 39, // Left, right
9, // Tab
17, // Ctrl
116 // F5
]
};
and is extended with more keycodes to add to the whitelist, extend simply overwrites the defaults with the new keycodes one by one even though they are different values.
I'm thinking about solving this problem by typing the keys like this 37: 37, 39: 39
etc. I would love a solution that doesn't force me to mess up the syntax of my configuration though.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能想使用 merge 而不是扩展:
演示:http://jsfiddle.net/3Q4cF/2/
更新:
合并每个数组:
http://jsfiddle.net/3Q4cF/5/
You might want to use merge instead of extend:
Demo: http://jsfiddle.net/3Q4cF/2/
Update:
To merge every single array:
http://jsfiddle.net/3Q4cF/5/