Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Javascript 对象值仅在数组的第一个元素中增加_Javascript_Arrays_Object_Element - Fatal编程技术网

Javascript 对象值仅在数组的第一个元素中增加

Javascript 对象值仅在数组的第一个元素中增加,javascript,arrays,object,element,Javascript,Arrays,Object,Element,我正在制作一个简单的库存应用程序,当我增加库存时,我会被卡住。如果我尝试增加库存,它只对第一个元素有效,而不是对任何其他元素有效,如果我尝试增加任何其他元素库存,它会再次增加数组第一个元素的库存 仅增加数组第一个元素的值 如果我选择任何其他项目代码,它将再次选择第一个元素并增加第一个元素中的值 //产品的构造函数 var项目=功能(名称、项目代码、库存){ this.name=名称; this.itemCode=itemCode; 这个。股票=股票; } var数据=[]; 函数附加项(名称、

我正在制作一个简单的库存应用程序,当我增加库存时,我会被卡住。如果我尝试增加库存,它只对第一个元素有效,而不是对任何其他元素有效,如果我尝试增加任何其他元素库存,它会再次增加数组第一个元素的库存

  • 仅增加数组第一个元素的值
  • 如果我选择任何其他项目代码,它将再次选择第一个元素并增加第一个元素中的值
  • //产品的构造函数
    var项目=功能(名称、项目代码、库存){
    this.name=名称;
    this.itemCode=itemCode;
    这个。股票=股票;
    }
    var数据=[];
    函数附加项(名称、项目代码、库存){
    if(data.map(i=>i.itemCode).includes(itemCode))返回警报('输入重复的itemCode'),menu();
    var Newitem=新项目(名称、项目代码、库存);
    数据推送(Newitem);
    }
    //删除项目
    函数delItem(n){
    if(data.map(i=>i.itemCode).includes(n)){
    var getIndex=data.indexOf(n)+1;
    data.pop(getIndex);
    }否则{
    警报('此项目不在数据库中')
    }
    }
    //增加库存
    item.prototype.inc=功能(j){
    返回this.stock=this.stock+j;
    }
    函数m(n,val){
    if(data.map(i=>i.itemCode).includes(n)){
    var getIndex=data.indexOf(n)+1;
    设lmn=data[getIndex].inc(val);
    返回lmn;
    }否则{
    警报('此项目不在数据库中')
    }
    }
    附加项(“蓝T恤”,100,50);
    附加项(“黄色T形”,101100);
    
    附加条款('BrownTee',102120)您将问题复杂化了。例如,您可以使用获取数组中的第一个元素,然后通过
    val
    增加它的stock属性,类似于:

    数据=[
    {名称:“BlueTee”,项目代码:100,库存:50},
    {名称:“黄色T恤”,项目代码:101,库存:100},
    {名称:“布朗特”,项目代码:102,库存:120},
    ];
    函数m(n,val){
    让item=data.find((p)=>p.itemCode==n);
    如果(项目){
    item.stock+=val;
    退货项目;
    }否则{
    log(“此项不在数据库中”);
    }
    }
    控制台日志(煽动(102,5));
    
    煽动(666,10)您将问题复杂化了。例如,您可以使用获取数组中的第一个元素,然后通过
    val
    增加它的stock属性,类似于:

    数据=[
    {名称:“BlueTee”,项目代码:100,库存:50},
    {名称:“黄色T恤”,项目代码:101,库存:100},
    {名称:“布朗特”,项目代码:102,库存:120},
    ];
    函数m(n,val){
    让item=data.find((p)=>p.itemCode==n);
    如果(项目){
    item.stock+=val;
    退货项目;
    }否则{
    log(“此项不在数据库中”);
    }
    }
    控制台日志(煽动(102,5));
    
    煽动(666,10)
    如果你真的在学习
    的基本知识,
    方法
    。查找
    数组。查找
    实现

    在给定的代码下面,您可以将其称为代码的小清理

    类项目{
    构造函数(名称、项目代码、库存){
    this.name=名称;
    this.itemCode=itemCode;
    这个。股票=股票;
    this.list=[];
    }
    公司(n){
    退货(本次库存+=n);
    }
    }
    类别项目清单{
    构造函数(){
    this.list=[];
    }
    附加项(名称、项目代码、库存){
    const item=this.list.find((item)=>item.itemCode==itemCode);
    如果(项目)返回警报(“您输入了重复的项目代码”),菜单();
    此.list.push(新项目(名称、项目代码、库存));
    }
    芬丹公司(北,瓦尔){
    const item=this.list.find((item)=>item.itemCode==val);
    如果(项目){
    项目公司(n);
    退货项目;
    }否则{
    警报(“此项不在数据库中”);
    }
    }
    }
    const inventory=新项目库存();
    清单.增补(“蓝铁”,101,50);
    存货.补充(“黄色T型”,102,38);
    存货.补充(“Brown tee”,103,89);
    console.log(inventory.list);
    findAndInc(5101);
    
    console.log(inventory.list)
    如果你真的在学习
    的基本知识,
    方法
    。查找
    数组。查找
    实现

    在给定的代码下面,您可以将其称为代码的小清理

    类项目{
    构造函数(名称、项目代码、库存){
    this.name=名称;
    this.itemCode=itemCode;
    这个。股票=股票;
    this.list=[];
    }
    公司(n){
    退货(本次库存+=n);
    }
    }
    类别项目清单{
    构造函数(){
    this.list=[];
    }
    附加项(名称、项目代码、库存){
    const item=this.list.find((item)=>item.itemCode==itemCode);
    如果(项目)返回警报(“您输入了重复的项目代码”),菜单();
    此.list.push(新项目(名称、项目代码、库存));
    }
    芬丹公司(北,瓦尔){
    const item=this.list.find((item)=>item.itemCode==val);
    如果(项目){
    项目公司(n);
    退货项目;
    }否则{
    警报(“此项不在数据库中”);
    }
    }
    }
    const inventory=新项目库存();
    清单.增补(“蓝铁”,101,50);
    存货.补充(“黄色T型”,102,38);
    存货.补充(“Brown tee”,103,89);
    console.log(inventory.list);
    findAndInc(5101);
    
    console.log(inventory.list)你可以考虑提供一个更有用的片段——代码在SNIPPETI内部不起作用,只需简单地构造对象并将对象添加到数据数组中,现在我想动态地增加值,所以我创建了一个函数,因为这个var项=函数(name,ItMe码,Stand){NET.No.= name;Test.ItMeCase= ItMeCal码;St.St=股票;}您可以考虑提供一个更有用的SnpPET哪种代码?代码在SNIPPETI内部不起作用,只需简单地构造对象并将该对象添加到数据数组中,现在我想动态地增加值,所以I CR。