减少对象内部数组的计数值,一旦计数达到零,就会使用 java 脚本自动删除该对象

纳拉亚南

我有一个对象,它有服务数组,我检查了是否有任何服务 id 和 offer id 与对象的减少计数值匹配,一旦计数达到零,就需要删除该对象。请检查我的小提琴尝试我可以减少但在达到零时无法删除

const obj = {
name:'saloon',
services:[
   {
     sid:1,
     offid:20,
     count:2
   },
   {
     sid:2,
     offid:18,
     count:1
   },
   {
     sid:3,
     offid:15,
     count:3
   }
]
}

给定值:基于此服务,并且报价 id 计数应减少,一旦计数达到零需要删除该对象

const servid = 2
const offid = 18

我的代码

    obj.services = obj.services.map(data => {
      if(data.sid == servid && data.offid == offid ){
          return data.count > 1 && {
            sid:data.sid,
            offide:data.offid,
            count:data.count -1
          } 
        }else{
          return data
        }
    })
     console.log(obj);

预期结果 :

const result = {
            name:'saloon',
            services:[
                       {
                         sid:1,
                         offid:20,
                         count:2
                       },
                       {
                         sid:3,
                         offid:15,
                         count:3
                       }
                    ]
            }
哈桑·伊玛目

使用array#forEach通过您的阵列中迭代并检查每个sidoffid内部服务,在比赛的更新情况下,count值检查后,如果count值小于或等于零,如果是,则使用推其索引indexes数组。之后,您可以遍历indexes数组并services使用array#splice.

const obj = { name:'saloon', services:[ { sid:1, offid:20, count:2 }, { sid:2, offid:18, count:1 }, { sid:3, offid:15, count:3 } ] };

const servid = 2;
const offid = 18;
var indexes = [];
obj.services.forEach(function(service, index) {
  if(service.sid === servid && service.offid === offid){
    --service.count;
  }
  if(service.count <= 0)
      indexes.push(index);
});

indexes.reverse().forEach(function(index){
  obj.services.splice(index, 1);
});
console.log(obj);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对象内部的Java数组

来自分类Dev

为什么nhibernate抱怨删除该对象?

来自分类Dev

在Java中删除类对象

来自分类Dev

在新的Java对象中自动装配Spring

来自分类Dev

从Java中的对象数组中删除对象

来自分类Dev

从Java脚本数组中删除逗号

来自分类Dev

对对象列表进行分组并使用Java集合进行计数

来自分类Dev

Java的8个流 - 查找最大计数值地图<字符串,列表<对象>>

来自分类Dev

从使用java8数组列表计数特定对象的occurances的数

来自分类Dev

Java流减少对象的数组

来自分类Dev

从Java脚本/类型脚本中的对象数组获取属性数组

来自分类Dev

一旦关闭了不同工作簿中的源范围,包含范围的Excel类对象就会丢失数据

来自分类Dev

Java脚本遍历对象数组

来自分类Dev

一旦每个单独的div内的数字达到0,该如何删除呢?

来自分类Dev

为什么nhibernate抱怨删除该对象?

来自分类Dev

从数组中删除对象[java]

来自分类Dev

Java脚本中的对象期望

来自分类Dev

使用Java脚本自动向下滚动

来自分类Dev

Java +脚本编写-对象变更?

来自分类Dev

Java,从ArrayList中删除对象

来自分类Dev

使用对象在Java中自动装箱

来自分类Dev

删除Java脚本中的子数组项

来自分类Dev

一旦达到输入文件的EOF,如何终止脚本?

来自分类Dev

Java-从对象数组中删除对象

来自分类Dev

计数Java对象中的值?

来自分类Dev

Java Hibernate 删除对象

来自分类Dev

我想从java脚本中的对象数组中删除特定的键和值

来自分类Dev

Java不识别该对象属于子类

来自分类Dev

Elasticsearch 计数嵌套对象列表的数量(java)