小编ste*_*iok的帖子

使用 CSS 创建静态饼图

我正在尝试使用 css 和 html 创建饼图。我只会显示一些静态数字,因此我试图保持它相对简单并且不使用任何动画。

我目前在如何创建我想要的外观方面遇到了障碍。下面的代码片段完全按照我的conic-gradient意愿工作,这个问题是firefox 和 Internet Explorer 不支持的,这将是这个项目的一个问题。

.progress-circle {
  --d: 50px;
  --color: #002F65;
  --progress: 40;
  border-radius: var(--d);
  height: var(--d);
  width: var(--d);
  background: conic-gradient( var(--color) calc(calc(var(--progress) / 100) * 360deg), transparent calc(calc(var(--progress) / 100) * 360deg));
}
Run Code Online (Sandbox Code Playgroud)
<div class="progress-circle"></div>
Run Code Online (Sandbox Code Playgroud)


我一直在寻找类似于上面的示例的替代方案,这使我看到了这篇文章:用 css 设计简单的饼图

我的问题是计算饼图百分比增长的方法似乎与我想要完成的不兼容。因为它是由transform: rotate(.1turn);

我的主要问题是否可以conic-gradient与其他浏览器兼容?如果不是,那么使用 css 制作饼图以与第一个示例非常相似的最佳方法是什么?

对于上下文,我将从数组中传递数据以确定饼图的百分比。

.pie {
  width: 100px; height: 100px;
  border-radius: 50%;
  background: yellowgreen;
  background-image:
  linear-gradient(to right, transparent 50%, #655 0);
}

.pie::before {
  content: "";
  display: block; …
Run Code Online (Sandbox Code Playgroud)

html css charts

3
推荐指数
1
解决办法
529
查看次数

Javascript-将对象添加到具有匹配id的数组中

我有一个数组categories,它的值id我试图与我的数组匹配articles

如果articles有一个匹配的 id 与我喜欢的其中之一,categories会将它们合并到一个数组中。我可以将这些对象添加到数组中,但它们根据 id 不匹配。

以下是类别的示例:

const categories = [{results: 
    { 
      "id": 28,
      "name": "Articles"
    }, { 
      "id": 76,
      "name": "Projects"
    }
    }]
Run Code Online (Sandbox Code Playgroud)

以下是文章示例:

const articles = [ 
{
 "title": "first article",
 "content": "lorem ipsum",
 "categoryId": 28
},
{
 "title": "second article",
 "content": "lorem ipsum",
 "categoryId": 28
},
{
 "title": "thirdarticle",
 "content": "lorem ipsum",
 "categoryId": 76
},
]
Run Code Online (Sandbox Code Playgroud)

我正在尝试将两个数组合并为一个。如果可能的话,我希望该articles数组成为该匹配索引中的数组。例如:

 const combined = [
      {
        "id": 28,
        "name": "Articles", …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

3
推荐指数
1
解决办法
2578
查看次数

Javascript - 返回对象对象的reduce方法

我有一个数组topArr,我试图获取结果对象的总和。我使用该.reduce()方法来完成此任务。然后我声明另一个变量以等于逗号位置的总和。

下面我有两个尝试代码片段示例。

首先,我得到的返回值为[object Object]48,883

第二个例子,我得到数组中第一个数字的返回值,它没有组合另一个对象。

我期望两个结果加起来等于金额543,810

这是我的代码片段。

let topArr = [
        { result: "494,927", risk: "HIGH", sector: "Online" },
        { result: "48,883", risk: "HIGH", sector: "Retail Stores" },
    ],
    
 sum = topArr.reduce(function (a, e) {
        return a + Number(e.result.replace(/(,\s*)+/g, '').trim());
    })

    let sumComma = sum.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    
    console.log(sumComma)
Run Code Online (Sandbox Code Playgroud)


let topArr = [
        { result: "494,927", risk: "HIGH", sector: "Online" },
        { result: "48,883", risk: "HIGH", sector: "Retail Stores" },
    ],
    
 sum = topArr.reduce(function (e) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays reduce

2
推荐指数
1
解决办法
942
查看次数

标签 统计

arrays ×2

javascript ×2

charts ×1

css ×1

html ×1

reduce ×1