当前位置: 首页 > 知识库问答 >
问题:

JQuery-如果id相同,只显示一个id并在周[duplicate]时添加它

何高旻
2023-03-14

我有以下示例数据:

[{"id":"2", "weeks":2}, {"id":"2", "weeks":4}, {"id":3, "weeks":7}]

我想我将只显示一个,如果id是多余的,但添加所有的星期,该id有

我的尝试:

var data = [{"id":"2", "weeks":2}, {"id":"2", "weeks":4}, {"id":3, "weeks":7}];
var weeks = 0;
for (var i=0; i<data.length; i++){
    weeks += data[i].weeks;
}

所需输出

[{"id":"2", "weeks":6}, {"id":3, "weeks":7}]

共有1个答案

张晨朗
2023-03-14

您可以将数组#reduce()object.values()一起使用。根据ID对数据进行分组,并在对象中添加用于重复ID。使用object.values()从对象中获取值。

const data = [{"id":"2", "weeks":2}, {"id":"2", "weeks":4}, {"id":3, "weeks":7}],
      result = Object.values(data.reduce((r,{id,weeks}) => {
        r[id] = r[id] || {id, weeks : 0};
        r[id].weeks += weeks;
        return r;
      },{}));
console.log(result);
 类似资料:
  • 第一步:进入控制台页面,添加统计ID 第二步:填写网站信息 第三步:放置统计代码 [代码示例如下] <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>了不起的盖茨比</title> </head> <body> <p>1922年的春天。</p> <p>菲茨杰拉

  • 我使用了jQueryScript.NET中的一个脚本进行翻译,我在预构建的主题上使用它,所以我认为主题的css阻止了我的代码首先应用,在控制台中,当页面加载时我看不到内联样式,但当我切换语言时,它切换得很完美HTML: jQuery-simple-multi-lang.js: 在控制台中,当页面加载时,显示两种语言: 在控制台中,当我使用切换器时,它完美地应用了样式,并显示了所选的语言:

  • 我试图将一个类添加到包含具有唯一ID的父容器的特定元素中。 我有几个按钮包含在div中,并且它们都使用相同的类。由于某种原因,我不能只使用$(this),所以我创建了一个循环,向容器添加唯一的ID。 超文本标记语言 JQuery 我的目标是ID,它可以工作,console.log会返回正确的信息。但是,由于某些原因,我无法添加该类。 提前感谢您的任何帮助!(: 编辑:我正在尝试将活动类添加到ID中

  • 问题内容: 我从Google的AdWords网站获取数据,该网站包含多个具有相同元素的元素。 您能否解释为什么以下3个查询没有得到相同答案(2)? 现场演示 HTML: JS: 问题答案: 根据W3C规范,具有2个具有相同ID的元素不是有效的html。 当您的CSS选择器只有一个ID选择器(并且未在特定上下文中使用)时,jQuery使用本机方法,该方法仅返回具有该ID的第一个元素。 但是,在其他两

  • 我有一个问题把两个数组组合在一起。一个数组是问题,另一个数组是答案。 不起作用,因为我丢失了一些键+值。而且也不是我想要的,我希望有人能帮我。 这两个数组都得到了键,这是我要针对的键。 数组1(答案); 和包含问题的数组: 最后的数组必须是什么样子的:

  • 问题内容: 我知道要获取ID: 但是更容易: 但是如何获得身份证?它不起作用。文档中没有信息。 问题答案: 在Firestore中一步添加呼叫时如何获取ID? 您无法像使用呼叫那样一步一步地获得文档ID 。为了解决这个问题,您应该添加一个完整的侦听器。试试这个: