Javascript 如何将数据附加到嵌套数组元素

Javascript 如何将数据附加到嵌套数组元素,javascript,arrays,react-native,Javascript,Arrays,React Native,我正在尝试向嵌套阵列添加数据,并且已经尝试了许多堆栈溢出链接来解决此问题,但没有成功 原始数据: cuisine: [ [ "Middle Eastern", 4 ], [ "Western",

我正在尝试嵌套阵列添加数据,并且已经尝试了许多堆栈溢出链接来解决此问题,但没有成功

原始数据:

cuisine: [
                    [
                        "Middle Eastern",
                        4
                    ],
                    [
                        "Western",
                        4
                    ],
                    [
                        "Pasta Dishes",
                        2
                    ],
                    [
                        "Salad",
                        2
                    ],
                    [
                        "Mexican",
                        1
                    ],
                    [
                        "Soup",
                        1
                    ],
                    [
                        "snacks",
                        1
                    ]
                ],
cuisine: [
                    [
                        1
                        false
                        "Middle Eastern",
                        4
                    ],
                    [
                        2
                        false
                        "Western",
                        4
                    ],
                    [
                        3
                        false
                        "Pasta Dishes",
                        2
                    ],
                    [
                        "Salad",
                        2
                    ],
                    [
                        4
                        false
                        "Mexican",
                        1
                    ],
                    [
                        5
                        false
                        "Soup",
                        1
                    ],
                    [
                        6
                        false
                        "snacks",
                        1
                    ]
                ],
所需数据:

cuisine: [
                    [
                        "Middle Eastern",
                        4
                    ],
                    [
                        "Western",
                        4
                    ],
                    [
                        "Pasta Dishes",
                        2
                    ],
                    [
                        "Salad",
                        2
                    ],
                    [
                        "Mexican",
                        1
                    ],
                    [
                        "Soup",
                        1
                    ],
                    [
                        "snacks",
                        1
                    ]
                ],
cuisine: [
                    [
                        1
                        false
                        "Middle Eastern",
                        4
                    ],
                    [
                        2
                        false
                        "Western",
                        4
                    ],
                    [
                        3
                        false
                        "Pasta Dishes",
                        2
                    ],
                    [
                        "Salad",
                        2
                    ],
                    [
                        4
                        false
                        "Mexican",
                        1
                    ],
                    [
                        5
                        false
                        "Soup",
                        1
                    ],
                    [
                        6
                        false
                        "snacks",
                        1
                    ]
                ],
我的代码

  this.setState({ cousineArray: cuisine }, () => {
    this.addValuesToArray(this.state.cousineArray);
  });


  addValuesToArray = commingArray => {
    console.warn(commingArray);
    if (commingArray !== null && commingArray !== undefined) {
      for (i = 0; i < commingArray.length; i++) {
        this.setState(
          {
            commingArray: this.state.commingArray.push(i, false)
          },
          () => {
            console.log("Coming Array ==> ", commingArray[1]);
          }
        );
      }
    }
this.setState({cousineArray:courine},()=>{
this.addValuesToArray(this.state.cousineArray);
});
addValuesToArray=commingArray=>{
控制台。警告(commingArray);
if(commingArray!==null&&commingArray!==未定义){
对于(i=0;i {
log(“Coming Array==>”,commingArray[1]);
}
);
}
}
})

但它不工作,并抛出以下错误

无法读取未定义的属性“push”


我做错了什么事。请告诉我更好的方法,如果这不是很好的方式做这件事。谢谢

使用
forEach
循环使用您自己的逻辑推送数组中的值

var=[
[
“中东”,
4.
],
[
“西部”,
4.
],
[
“意大利面菜”,
2.
],
[
“沙拉”,
2.
],
[
“墨西哥”,
1.
],
[
“汤”,
1.
],
[
“零食”,
1.
]
]
烹饪。forEach(功能(e,j){
e、 取消移位(假)
e、 取消移位(j)
e、 取消移位({key:'value'})
})

console.log(烹饪)
不要在循环中设置状态,也可以使用
map
正确设置嵌套数组的值:

addValuesToArray = commingArray => {
  console.warn(commingArray);
  if (commingArray !== null && commingArray !== undefined) {
    const res = commingArray.map(arr => {
      return arr.map((innerArr, i) => {
        return [...innerArr, i, false]
      })
    })

    this.setState({
        commingArray: res
      },
      () => {
        console.log("Coming Array ==> ", commingArray);
      }
    );
  }
}

看起来应该使用特定类型的数组,而不是非结构化二维数组。除非第三方限制您使用该结构!我们还可以向新添加的值(如e.push(“checked”,false)和e.push(“id”,j))添加键吗?可以向支持它的对象添加键-值对。数组不支持键值配对显示,即使可以在数组中添加对象。选中editsHow以实现此目的?我们是否可以在开头而不是结尾添加新添加的值?