我有以下数组对象:如何循环遍历它并单独获取test和body的值?在JavaScript中?使用2 for循环,但没有安慰?
myobj: {
foo: [
{
test: "jhaskd",
body: "haskjdh",
}
],
bar: [
{
test: "jhaskd",
body: "haskjdh",
}
],
}
答案 0 :(得分:1)
喜欢这个?
let myobj = {
foo: [
{
test: "jhaskd",
body: "haskjdh",
}
],
bar: [
{
test: "jhaskd",
body: "haskjdh",
}
],
}
let level_1_keys = Object.keys(myobj)
console.log(level_1_keys) //['foo', 'bar']
let tests = level_1_keys.map(function(l_1_key){
return myobj[l_1_key][0]["test"]
})
let bodies = level_1_keys.map(function(l_1_key){
return myobj[l_1_key][0]["body"]
})
console.log(tests) //['jhaskd','jhaskd']
console.log(bodies) //['haskjdh', 'haskjdh']
答案 1 :(得分:0)
以下是一个例子:
Image>Mode>Indexed
“而不是测试[]和body [] - 我需要foo [],bar []”
Layers>Dockable dialog>Colormap
如果有什么不清楚的话 - 随意问。
答案 2 :(得分:0)
有很多方法可以做到这一点,但如果你真的不关心父对象的密钥,那么应该这样做:
for (let list of Object.values(myobj)) {
for (let obj of list) {
console.log(obj.test)
console.log(obj.body)
}
}
这假定父对象中的每个元素都是一个数组,但如果不是这种情况,则只需添加if
- 子句即可。见https://repl.it/LoL1