我无法弄清楚,为什么这段代码(只有js)没有运行 - http://jsfiddle.net/fLEAw/
populateList();
populateList: function () {
var accData = [{ A: "A1" }, { B: "B1"}];
$.each(accData, function (index) {
alert(accData[index].Value)
});
}
答案 0 :(得分:3)
您的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();
我宁愿建议你纠正自己的问题并在评论中提问。
答案 1 :(得分:2)
您可以使用$.each
循环数组和对象:
$.each(accData, function(i, obj) {
$.each(obj, function(k, value) {
alert(value);
});
});
我怀疑你最终会使用alert
,你可能希望值对它们做些什么,所以你可以把它们放在一个数组中。这是纯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"]
答案 2 :(得分:1)
更改
populateList: function () {
到
function populateList() {
写:
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)
});
}
}
答案 3 :(得分:0)
由于您的数组元素是对象,请尝试以下解决方案:
var populateList = function () {
var accData = [{ A: "A1" }, { B: "B1"}];
$.each(accData, function (index) {
for(var ele in accData[index]){
alert(accData[index][ele]);
}
});
};
populateList();
答案 4 :(得分:0)
尝试这样的事情
var accData = [{ A: "A1" }, { B: "B1"}];
$.each(accData, function (index,obj) {
$.each(obj, function(key, value) {
alert(key + '' + value);
});
});