Javascript 为什么我的代码失败了?尝试用基本表达式替换箭头表达式
我有一段在Chrome、Safari、Firefox等浏览器上运行的代码:Javascript 为什么我的代码失败了?尝试用基本表达式替换箭头表达式,javascript,jquery,Javascript,Jquery,我有一段在Chrome、Safari、Firefox等浏览器上运行的代码: var questions = qnumbers.map((i, el) => ({ number: el.innerHTML, text: qtext[i].innerHTML, feedback: qfeedback[i].innerHTML, lessonid: strLESSONID.toString(),
var questions = qnumbers.map((i, el) => ({
number: el.innerHTML,
text: qtext[i].innerHTML,
feedback: qfeedback[i].innerHTML,
lessonid: strLESSONID.toString(),
sessionid: strSESSIONID.toString(),
userid: strUSERID.toString(),
correctanswer: qcorrectanswer[i].innerHTML,
studentanswer: qstudentanswer[i].innerHTML
})).get();
它唯一不起作用的是IE-389;-,我知道这是因为“=>”,但我正试图重写代码,不包含它,但它似乎不起作用这是我需要帮助的部分,而不是它发生的原因。。。因此,请不要再结束我的问题。
这是我试图将其更改为的代码,但没有效果,我也有JQUERY,因此如果需要,我们可以使用它
var questions = qnumbers.map(function(i, el){
number: el.innerHTML,
text: qtext[i].innerHTML,
feedback: qfeedback[i].innerHTML,
lessonid: strLESSONID.toString(),
sessionid: strSESSIONID.toString(),
userid: strUSERID.toString(),
correctanswer: qcorrectanswer[i].innerHTML,
studentanswer: qstudentanswer[i].innerHTML
}).get();
我得到语法错误:'期望;联机文本:qtext[i]。innerHTML'
谢谢大家! 您需要返回一个对象:
var questions = qnumbers.map(function(i, el){
return {
number: el.innerHTML,
text: qtext[i].innerHTML,
feedback: qfeedback[i].innerHTML,
lessonid: strLESSONID.toString(),
sessionid: strSESSIONID.toString(),
userid: strUSERID.toString(),
correctanswer: qcorrectanswer[i].innerHTML,
studentanswer: qstudentanswer[i].innerHTML
}
}).get();
编写
function(){}
时,括号{}
并不表示对象的开始和结束,它们表示函数的开始和结束。普通的javascript函数没有隐式返回值的概念——您必须返回一些东西。在普通的函数中,只有arrow函数可以有隐式返回值语法,()=>obj
,您需要一个返回
语句。