Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在React Native上的另一个数组中循环数组_Arrays_Loops_For Loop_React Native_Push - Fatal编程技术网

Arrays 在React Native上的另一个数组中循环数组

Arrays 在React Native上的另一个数组中循环数组,arrays,loops,for-loop,react-native,push,Arrays,Loops,For Loop,React Native,Push,我尝试在道具上循环,并将父对象和子对象推送到一个变量。我似乎能够让循环和推送正常工作,但它推送每个家长下的所有孩子 var options = []; var option = []; Object.keys(this.props.data.options).forEach((key, index) => { options.push( <AddToCartRow key={index} option={key} options={opti

我尝试在道具上循环,并将父对象和子对象推送到一个变量。我似乎能够让循环和推送正常工作,但它推送每个家长下的所有孩子

var options = [];
    var option = [];
    Object.keys(this.props.data.options).forEach((key, index) => {
      options.push(
        <AddToCartRow key={index} option={key} options={option} cartKey={this.props.cartKey} />,
        Object.values(this.props.data.options[key]).forEach((value, index) => {
          option.push(value)
        })
      )
    })
var选项=[];
var期权=[];
Object.keys(this.props.data.options).forEach((key,index)=>{
选项。推(

预期的结果应该是

大小 -0[价格:3.95,标题:小] -1[价格:4.95,标题:大号]

混合 -0[价格:0,标题:普通] -1[价格:0,标题:无咖啡因]


etc

似乎您在将元素推入数组时遇到了问题。我已通过以下操作进行了管理

for (let parentData of mainObj) {
    let tempArray = []; // need to declare here
    for (let childData of parentData.someField) {
        tempArray.push({
            ...
        });
    }
    finalArray.push(tempArray);
}

您需要将子循环数据推送到临时数组中,然后再推送到主结果数组中,在您的情况下,主结果数组是
options

似乎您在将元素推送到数组中时遇到了问题。我已按以下方式进行了管理

for (let parentData of mainObj) {
    let tempArray = []; // need to declare here
    for (let childData of parentData.someField) {
        tempArray.push({
            ...
        });
    }
    finalArray.push(tempArray);
}

您需要将子循环数据推送到临时数组中,然后推送到主结果数组中,该数组在您的情况下是
options

这不是我正在做的吗?我已经在主循环中有了子循环。是的,它是类似的,唯一的区别是
var option=[]
上面声明,我已经在before-child循环中使用了。因此,每次它都将被创建为新数组并附加到主循环中。这不是我正在做的,我已经在主循环中使用了子循环。是的,它是类似的,唯一的区别是
var-option=[]
上面声明,我已经在before-child循环中使用了。所以每次它都将被创建为新数组并附加到主循环中