如何循环数组中每个idx的对象属性?

时间:2019-10-07 03:21:41

标签: javascript reactjs loops

我是编码的新手,这种情况对我来说是一个很大的问题。我正在使用reactjs并在一个函数中有这样的道具:

const{a,b,c,d,e,f,g,h} = props

因此,“ props”是一个对象,“ c”是一个数组,在“ c”内部是100个对象,范围从“ idx” 0到99,所有这些对象都具有相同的属性调用“ x”,“ x”值为布尔值“ true”或“ false”。我想知道遍历所有这100个对象的最佳方法,这样它将返回“ true”或“ false”

基本上,c是这样的:

let c = [{x:true},{x:true},{x:false}];

我只知道

console.log ('show value', props.c[idx])

显示此对象内的键和值,但不能通过props.c [idx] .x取得我想要的键。我认为我在某些地方错了。请帮助

奖金:我想知道这一点,所以对于每个'true',都会出现一个TRUE按钮,反之亦然,就像这样

{!x (<button> False </button>)}

2 个答案:

答案 0 :(得分:1)

很难解释您的问题。但这不是您要寻找的(我使用3个元素组成的数组,但它应该对其中100个起作用):

let c = [{x:true},{x:true},{x:false}]; 
console.log(c.map(c=>c.x));

答案 1 :(得分:0)

让我们假设您的道具数据结构如下所示。

var props= {c : [{x:false},{x:true},{x:false},{x:true},{x:false},{x:true},{x:true}]}

然后,您的访问方法确实是正确的。下面的工作片段!

var props= {c : [{x:false},{x:true},{x:false},{x:true},{x:false},{x:true},{x:true}]}

console.log("props.c[idx] value is : ",props.c[0])
console.log("props.c[idx].x value is : ",props.c[0].x)

console.log("=================================================");
//loop through all
for(idx in props.c){
    console.log("Loop ",idx," : ",props.c[idx].x);
}