在这段代码中,我如何使用FOR循环一次访问两个或多个属性?

问题描述 投票:-2回答:3

    const array1 = [
        [
            {crow : 'black',
            pigon : 'white',
            parrot : 'green',}
        ],
        [
            {apple : 'red',
            orange : 'green',
            mango : 'yellow'}
        ]
    ]

请务必回答!如何使用循环或什至filter()函数访问此嵌套数组的两个或多个属性。

javascript loops multidimensional-array filter properties
3个回答
0
投票
array1.forEach(arr => {
   // arr[0] is your object
   let crow = arr[0].crow;
   let pigon= arr[0].crow;
   let parrot= arr[0].crow;
})

但是这仅适用于array1 [0]更好的方法是循环所有对象键

array1.forEach((arr, i) => {
   // arr[0] is your object
   const entries = Object.entries(arr[0])
   console.log(entries) 
})

结果是:

0: (2) ["crow", "black"]
1: (2) ["pigon", "white"]
2: (2) ["parrot", "green"]

0: (2) ["apple", "red"]
1: (2) ["orange", "green"]
2: (2) ["mango", "yellow"]

0
投票

由于数组具有2个元素,因此可以使用索引号引用每个元素。第一个元素在索引0中,第二个元素在索引1中,例如array1 [0],array1 [1]使用for循环遍历数组元素并打印出每个对象

array1[0].forEach(function(firstelement){
    console.log("Crow: "+ firstelement.crow)
    console.log("Pigon: "+ firstelement.pigon)
    console.log("Parrot: "+ firstelement.parrot)

}) 

array1[1].forEach(function(secondelement){
    console.log("Apple: "+ secondelement.apple)
    console.log("Orange: "+ secondelement.orange)
    console.log("Mango : "+ secondelement.mango)

}) 

0
投票
array1.filter((arr) =>
    document.write(arr.filter((arr1)=>{
        console.log(Object.keys(arr1)[Object.values(arr1).indexOf('green')])
    }))
)

这是我的问题的确切答案,没有人能解决!无论如何,谢谢大家enter code here尽力了!

© www.soinside.com 2019 - 2024. All rights reserved.