我有一个像这样的 json 数组
var data = key: [
{
arr1: [
{value: 1},
{value: 2},
{value: 3},
]
},
{
arr2: [
{value: 1},
{value: 2},
{value: 3},
]
},
{
arr3: [
{value: 1},
{value: 2},
{value: 3},
]
}
]
我想循环 key
3 次,在 key 循环内我想再次循环 key
内的每个元素。
首先我尝试了 $.each
,它对于键数组效果很好。在每个函数内部,我尝试在返回名称的循环内使用 Object.key(this)
获取键值
arr1, arr2, arr3
但是我无法循环遍历我得到的名字。
$.each(data, function(i, e) {
Object.keys(this).each(function(index, element) {
console.log(element);
})
})
我不知道这是否是正确的做法,当我尝试这样做时,这是正确的。我收到一条错误消息,告知 .each
不是函数。
任何帮助将不胜感激。
最佳答案
实现此目的的简单方法是使用三个循环,但尝试在每个循环中使用 this
赋予新含义来实现这一点将是不必要的复杂。
我建议使用 .forEach
并为每个循环变量指定一个清晰的名称:
var data = [
{
arr1: [
{value: 1},
{value: 2},
{value: 3},
]
},
{
arr2: [
{value: 1},
{value: 2},
{value: 3},
]
},
{
arr3: [
{value: 1},
{value: 2},
{value: 3},
]
}
]
data.forEach(function (outerObj) {
Object.keys(outerObj).forEach(function (key) {
outerObj[key].forEach(function (item) {
console.log(item);
});
});
});
当然,如果您实际上告诉我们您想通过这些循环完成什么,可能会有更好的解决方案。
关于javascript - 如何使用 jQuery 或 JavaScript 循环数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47292089/