Javascript jquery在循环时每个都不能正常工作
我不明白为什么这段代码(只有js)没有运行-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
您的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);
});
});