【发布时间】:2012-06-15 22:20:23
【问题描述】:
我有一个频道数组,我想将其转换为一个单个对象(channelSettings),每个频道都有一个真/假属性。
我已经使用下面的代码让它工作了,但它看起来很冗长。没有“temp”变量有没有办法做到这一点?如果我能驾驭它,那么我也可以驾驭自执行功能。
var channels = ["TV", "Billboard", "Spot TV"];
var channelSettings = function() {
var temp = {};
channels.map(function(itm, i, a) {
var channel = itm.toLowerCase().replace(" ", "");
temp[channel] = false;
});
return temp;
}();
我想我正试图让 map 函数返回一个带有属性的对象,而不是一个数组。这可能吗?是不是被误导了?有什么建议吗?
这就是我希望它最终的样子:
var channels = ["TV", "Billboard", "Spot TV"];
var channelSettings = channels.map(function(itm, i, a) {
var channel = itm.toLowerCase().replace(" ", "");
return ????;
});
【问题讨论】:
-
可能有点冗长,但也清晰。我会投票保持原样。
-
只想补充一点,键可以有空格和大写字母。以获得更好的一致性。
标签: javascript