运行这些行后,我在 coffeescript 中有以下代码,str 的值仍然是“d41d8cd98f00b204”。关于我可能做错了什么的想法?
dataDict = {email: "johndoe@gmail.com", t:213213.213213}
apiFields = ['email', 'password', 'backup_email', 'firstname',
'lastname', 'dob', 'username', 'position', 'industry',
'institution', 'verificationcode', 'confirmcode',
'signuphost', 'responses', 't']
str = "d41d8cd98f00b204"
for ind in apiFields
str = str + dataDict[ind] if ind in dataDict
console.log(str)
最佳答案
我会:
append = dataDict[ind]
str = str + append if append
你所做的编译为:
if (__indexOf.call(dataDict, ind) >= 0) str = str + dataDict[ind];
在哪里
__indexOf === [].indexOf //Array.prototype's indexOf
和 Array.prototype
的 indexOf
不适用于非数组对象。
关于javascript - 知道为什么在 coffeescript 中会发生这种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272877/