Javascript 迭代jquery对象

Javascript 迭代jquery对象,javascript,jquery,each,Javascript,Jquery,Each,我试图使用jquery迭代并输出choices属性的值。我的代码似乎输出数组索引,而不是字符串值。为什么会这样?这是我的 试试这个 $(info[0].choices).each(function(value){ $('#answers').append($('<li>').text(this)); 您传递的是索引而不是值: var allQuestions = [{ question: "Who is Prime Minister of the United K

我试图使用jquery迭代并输出choices属性的值。我的代码似乎输出数组索引,而不是字符串值。为什么会这样?这是我的

试试这个

 $(info[0].choices).each(function(value){
    $('#answers').append($('<li>').text(this));

您传递的是索引而不是值:

var allQuestions = [{
    question: "Who is Prime Minister of the United Kingdom?", 
    choices: ["David Cameron", "Gordon Brown", "Winston Churchill", "Tony Blair"], 
    correctAnswer:0
}];


$(info[0].choices).each(function(index, value){
    $('#answers').append($('<li>').text(value));
});
这里有一个例子:fiddle:

美元。每个回调都有两个参数index和value。添加值作为第二个参数,并改用该参数。

您已经混淆了

$(selector).each()


您希望使用第二种形式来迭代数组。

回调的第一个参数是索引,您应该使用第二个参数。每个回调的参数都是错误的。如果你想用第二个参数来表示这个值,不要问我为什么算术是这样的。如果你使用的是一个不熟悉的方法,我建议你这样做。为什么会这样?因为这就是方法的工作原理。
$(selector).each()
$.each(array, callback)