javascript - 插入到 json 对象数组中

标签 javascript arrays reactjs

我有一个 json 对象数组,并且有一个选择输入,我想要做的是,当我从该选择输入中选择某些内容时,它会将其添加到该数组中,同时当我重新选择相同的项目时,它会将其添加到该数组中。不会再添加它,但没有找到如何制作它

这是我在状态下初始化的数组:

      this.state = {    
        Modules_SubModules_Array: [{ "Module": "", "SubModules": [] }],  
    };

这是我用来插入该数组的函数:

  Affect_Module_Submodule = (currentModuleTitle) => {
    if (this.state.Modules_SubModules_Array.some(item => item.Module == 
      currentModuleTitle)) {
        console.log("it includes")
    }

    else if (!this.state.Modules_SubModules_Array.some(item => item.Module 
   == currentModuleTitle)) {
        console.log("it doesnt include")
    }
}

currentModuleTitle 是我从选择输入中选取的项目,我想测试该数组是否已包含该值,它不会添加它,如果不是,它会添加它,如果您能提供帮助,我会卡在它上一段时间我很感激

最佳答案

Affect_Module_Submodule = (currentModuleTitle) => {
  if (this.state.Modules_SubModules_Array.findIndex(item => item.Module ==
      currentModuleTitle) < 0) {
    this.state.Modules_SubModules_Array.push({
      "Module": currentModuleTitle,
      "SubModules": []
    })
  }
}

关于javascript - 插入到 json 对象数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57396995/

相关文章:

javascript - 设置超时不使用功能

javascript - React-Material-ui : Autocomplete on words that aren't the first in a sentence

ajax - React-Router 在 ajax 调用中对 setState() 抛出不变违规

javascript - 我怎样才能改变 IE 中选择标签的这种行为

javascript - 自动将 slider 设置为默认起始值

java - 中位数算法的中位数不能始终如一地工作

arrays - Swift 字符串数组

html - 如果是 'true' 则显示组件,否则显示其他组件(在 React 中)

javascript - setTimeout 不起作用,我在这里遗漏了什么吗?

python - 为什么无法从数组对象中获取 Py_buffer?