Javascript 当输入obj时,转换为使用带有Coffeescript的_indexOf
这茶匙咖啡Javascript 当输入obj时,转换为使用带有Coffeescript的_indexOf,javascript,coffeescript,Javascript,Coffeescript,这茶匙咖啡 _pickInConf = (sourceConf,propsToPick...) -> newConfWithPickedProperties = {} newConfWithPickedProperties[key] = sourceConf[key] for key in Array::.concat.apply Array::,propsToPick when key in sourceConf newConfWithPick
_pickInConf = (sourceConf,propsToPick...) ->
newConfWithPickedProperties = {}
newConfWithPickedProperties[key] = sourceConf[key] for key in Array::.concat.apply Array::,propsToPick when key in sourceConf
newConfWithPickedProperties
。。。被编译成:
_pickInConf = function() {
var key, newConfWithPickedProperties, propsToPick, sourceConf, _i, _len, _ref;
sourceConf = arguments[0], propsToPick = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
newConfWithPickedProperties = {};
_ref = Array.prototype.concat.apply(Array.prototype, propsToPick);
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
key = _ref[_i];
if (__indexOf.call(sourceConf, key) >= 0) {
newConfWithPickedProperties[key] = sourceConf[key];
}
}
return newConfWithPickedProperties;
};
进入:
if (key in sourceConf) {
。。。这就是我想用JS编写的代码
有没有办法强制Coffescript输出这种JS?或者让它明白sourceConf是一个对象,而不是一个数组
提前感谢您的回答 您希望
of
而不是in
迭代对象的键:(在本节末尾附近)
要进一步说明这一点:
for a in items when a of obj
stuff
编译成
var a, _i, _len;
for (_i = 0, _len = items.length; _i < _len; _i++) {
a = items[_i];
if (a in obj) {
stuff;
}
}
var a,_i,_len;
对于(_i=0,_len=items.length;_i<_len;_i++){
a=项目[_i];
if(obj中的a){
东西
}
}
这是使用obj中的
a来检查是否出现键:您希望整个块编译成什么?谢谢Jim!我刚刚用js2coffe解决了这个问题!
for a in items when a of obj
stuff
var a, _i, _len;
for (_i = 0, _len = items.length; _i < _len; _i++) {
a = items[_i];
if (a in obj) {
stuff;
}
}