Javascript jquery在循环时每个都不能正常工作

Javascript jquery在循环时每个都不能正常工作,javascript,jquery,json,loops,each,Javascript,Jquery,Json,Loops,Each,我不明白为什么这段代码(只有js)没有运行- 您的javascript/jquery代码存在多个问题。看看这个 var populateList = function () { var accData = [{ A: "A1" }, { B: "B1"}]; $.each(accData, function (index) { for(var value in accData[index]){ alert(accData[index][v

我不明白为什么这段代码(只有js)没有运行-


您的javascript/jquery代码存在多个问题。看看这个

var populateList = function () {
    var accData = [{ A: "A1" }, { B: "B1"}];

    $.each(accData, function (index) {
        for(var value in accData[index]){
            alert(accData[index][value])
        }

    });

}

populateList();
我宁愿建议你自己纠正这些问题,并征求意见


由于数组元素是对象,请尝试以下解决方案:

var populateList = function () {
  var accData = [{ A: "A1" }, { B: "B1"}];

  $.each(accData, function (index) {    
    for(var ele in accData[index]){
      alert(accData[index][ele]);
    }
  });

};
populateList();
改变

populateList: function () {

写:

populateList();
function populateList() {
    var accData = [{
        A: "A1"
    }, {
        B: "B1"
    }];
    var len = accData.length;
    for (var i = 0; i < len; i++) {
        $.each(accData[i], function (key, value){
            //key will return key like A,B and value will return values assigned
            alert(value)
        });
    }
}
populateList();
函数populateList(){
var accData=[{
A:“A1”
}, {
B:“B1”
}];
var len=accData.length;
对于(变量i=0;i

您可以使用
$。每个
循环数组对象:

$.each(accData, function(i, obj) {    
  $.each(obj, function(k, value) {
    alert(value);
  });
});
我怀疑您最终会使用
警报
,您可能希望这些值对它们做些什么,这样您就可以将它们放入一个数组中。下面是一种在纯JavaScript中可重用的替代方法:

var values = function(obj) {
  var result = [];
  for (var i in obj) {
    result.push(obj[i]);
  }
  return result;
};

var flatten = function(xs) {
  return Array.prototype.concat.apply([], xs);
};

var result = flatten(accData.map(values));

console.log(result); //=> ["A1", "B1"]

试试这样的

var accData = [{ A: "A1" }, { B: "B1"}];
$.each(accData, function (index,obj) {
  $.each(obj, function(key, value) {
    alert(key + '' + value);
  });
});

您的对象没有
属性。实际上,你的代码甚至没有达到那一行!在循环时,如何访问accData中的所有值?@whyAto8:检查我的解决方案。它将向每个数组元素值发出警报。:)@BlackSheep-谢谢,您的输入让我意识到代码出了什么问题,以及我试图实现什么。值属性显然不存在,然后我意识到“A”和“B”不需要不同,所以我在这两个属性中都使用了“Name”,它就起作用了。这里是指向工作代码的链接,这是我需要的-我想访问A1、B1等值,而不是索引。我了解您提到的一些问题,感谢您指出它们。最后,在阅读了这篇文章中的所有帖子后,我意识到在我的具体要求中有什么错误,什么可以更改,所以我做了这些,并进行了工作。-jsfiddle.net/fLEAw/19非常感谢您对$each用法的澄清,使其更加清晰。然而,根据我的具体需求,我做了一些更改,并且效果良好-jsfiddle.net/fLEAw/19
var values = function(obj) {
  var result = [];
  for (var i in obj) {
    result.push(obj[i]);
  }
  return result;
};

var flatten = function(xs) {
  return Array.prototype.concat.apply([], xs);
};

var result = flatten(accData.map(values));

console.log(result); //=> ["A1", "B1"]
var accData = [{ A: "A1" }, { B: "B1"}];
$.each(accData, function (index,obj) {
  $.each(obj, function(key, value) {
    alert(key + '' + value);
  });
});