小编Rah*_*obe的帖子

对数组进行排序,嵌套所有非唯一值

我对 javascript 很陌生,我试图构建这个我在挑战中发现的函数。我已经设法解决了这个问题,但我觉得这是一种非常复杂的做事方式,这里最快的方法是什么?

基本上answer(array)应该改变这个:

const array = [1,2,4,591,392,391,2,5,10,2,1,1,1,20,20];
Run Code Online (Sandbox Code Playgroud)

进入这个:

newArray = [[1,1,1,1],[2,2,2], 4,5,10,[20,20], 391, 392,591];
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的代码:

const array = [1,2,4,591,392,391,2,5,10,2,1,1,1,20,20];
Run Code Online (Sandbox Code Playgroud)

重复函数来自这篇关于查找重复值的帖子

javascript arrays

5
推荐指数
1
解决办法
73
查看次数

如何为模板别名指定模板推导指南?

我正在尝试使此代码VS 2019 (16.10.4)/std:c++17. 以下失败:

namespace my
{
   template<class _Key, class _Compare = std::less<_Key>, class _Allocator = std::allocator<_Key>>
   using Set = std::set<_Key, _Compare, _Allocator>;
}

void test()
{
    std::set set1 = { 1, 2, 3 };
    static_assert(std::is_same_v<std::set<int>, decltype(set1)>);

    my::Set set2 = { 1, 2, 3 }; // Error here.
    static_assert(std::is_same_v<my::Set<int>, decltype(set2)>);
}
Run Code Online (Sandbox Code Playgroud)

有错误:

error C2955: 'my::Set': use of alias template requires template argument list
message : see declaration of 'my::Set'
Run Code Online (Sandbox Code Playgroud)

相同的代码在 godbolt 上编译良好,gcc -std=c++17无需任何推导指南。请参阅示例 …

c++ template-argument-deduction c++17 visual-studio-2019

5
推荐指数
1
解决办法
921
查看次数

JavaScript 合并具有相同键的对象并将它们的值相加

代码按预期工作正常,但name响应中缺少参数。

var objArr= [{'location_id':1,'quantity':20,'name':'AB'},{'location_id':1,'quantity':20,'name':'AB'},{'location_id':3,'quantity':20,'name':'cd'}]

// first, convert data into a Map with reduce
let counts = objArr.reduce((prev, curr) => {
  let count = prev.get(curr.location_id) || 0;
  prev.set(curr.location_id, (curr.quantity + count),curr.name);
  return prev;
}, new Map());

// then, map your counts object back to an array
let reducedObjArr = [...counts].map(([location_id, quantity,name]) => {
  return {location_id, quantity,name}
})


console.log (reducedObjArr);
Run Code Online (Sandbox Code Playgroud)

预期回应:

[
{"location_id":1,"quantity":40, "name":'AB'},
{"location_id":3,"quantity":20, "name":'cd'}
]
Run Code Online (Sandbox Code Playgroud)

javascript node.js

4
推荐指数
1
解决办法
619
查看次数

使用指令不适用于 c++20 概念吗?

using 指令不适用于概念吗?为什么?

下面的示例不起作用,我收到一个编译器错误,提示它需要一个类型。

#include <concepts>

namespace A::X {

  struct BaseA {};

  template < typename AType >
    concept DerivedFromA = std::derived_from < AType, BaseA >;

}

namespace A {

  using DerivedFromA = X::DerivedFromA;

}
Run Code Online (Sandbox Code Playgroud)

我希望能够访问概念DerivedFromA从命名空间ADerivedFromA,而不是X::DerivedFromA

c++ generic-programming c++-concepts c++20

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

如何终止当前正在运行的git进程?

$ git commit -m "45"
fatal: Unable to create 'F:/SoftifyBD/Projects/proj-4/CMS_Latest/contentmanagementsystem/.git/index.lock': File exists.
Run Code Online (Sandbox Code Playgroud)

另一个 git 进程似乎正在该存储库中运行,例如由“git commit”打开的编辑器。请确保所有进程都已终止,然后重试。如果仍然失败,则 git 进程可能之前在此存储库中崩溃:手动删除文件以继续。 在此输入图像描述

git terminate

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

为什么在使用 `std::views::reverse` 时对过滤函数的调用是多余的?

我试图了解通过管道运算符(视图/适配器)传递时对过滤器函数的调用顺序。我看到的结果根本不直观。虽然可能有原因,但如果有人能解决这个问题,我将不胜感激。也可以指向cppreference.com上的正确文档。

#include <vector>
#include <ranges>
#include <iostream>

int main() {
    const auto vec = std::vector{1,2,3,4,5,6};
    auto filter = [](const auto f) {
        std::cout << "f = " << f << ", "; 
        return f % 2 == 0;
    };

    std::cout << std::endl;
    for (auto v : vec
        | std::views::reverse
        | std::views::filter(filter)
        | std::views::take(2)
        | std::views::reverse)
    {
        std::cout << std::endl << "v = [" << v << "]" << std::endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

实际结果:

f = 6, f = 5, …
Run Code Online (Sandbox Code Playgroud)

c++ c++20

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

Javascript - 函数,缺少参数

宝贝编码器在这里,刚刚进入功能。我创建了一个计算矩形面积的函数,只要提供两个参数,它就可以工作。如果只提供一个参数,我希望我的代码假设形状是正方形(因此长度和宽度相等)。我一直在尝试提出一个条件,但不知道如何说“如果只有一个参数,则长度 === 宽度”。任何指针表示赞赏!

function area(length, width) {
    let rectangleArea = Number(length) * Number(width);
    return rectangleArea;
}
console.log(area(10, 5));
Run Code Online (Sandbox Code Playgroud)

javascript arguments function conditional-statements

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

这个主要测试功能是如何工作的?

我在另一个编程社区看到了这个主要的测试代码。

isPrime=n=>!/^.$|^(..+)\1+$/.test(Array(n+1));
Run Code Online (Sandbox Code Playgroud)

我可以理解 RegExp 的事情,但我无法理解这是如何工作的。

为什么空数组在 RegExp 测试中?为什么它有效???
我搜索了它,但我找不到任何信息... :(

javascript regex primes

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

如何通过角色链限制 IAM 角色以获得比其本身允许的更高的权限?

我有一个ThisRole具有以下deny权限的角色:

        {
            "Sid": "DenyPolicies",
            "Effect": "Deny",
            "Action": [
                "iam:AddUserToGroup",
                "iam:AttachGroupPolicy",
                "iam:AttachUserPolicy",
                "iam:CreateGroup",
                "iam:CreateLoginProfile",
                "iam:CreateUser",
                "iam:DeleteUser",
                "iam:DeleteLoginProfile",
                "iam:DeleteAccountPasswordPolicy",
                "iam:DeleteGroup",
                "iam:DeleteGroupPolicy",
                "iam:DeleteOpenIDConnectProvider",
                "iam:DeleteUserPolicy",
                "iam:DeleteVirtualMFADevice",
                "iam:DetachGroupPolicy",
                "iam:DetachUserPolicy",
                "iam:EnableMFADevice",
                "iam:RemoveUserFromGroup",
                "iam:UpdateGroup",
            ],
            "Resource": "*"
        }
Run Code Online (Sandbox Code Playgroud)

以及以下allow权限:

    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
Run Code Online (Sandbox Code Playgroud)

我确实想ThisRole创建新角色、创建新角色并更新现有 IAM 策略。这就是为什么iam:CreateRole和喜欢不被拒绝。但这为这个角色打开了后门:

  1. 创建一个新角色(比方说NewRole)。
  2. 允许NewRole所有权限本身被拒绝。
  3. 假设这个NewRole(角色链)。
  4. 执行否则被拒绝的权限ThisRole

允许ThisRole创建新角色/策略、修改现有角色/策略或承担其他角色但仅在其本身被允许做的范围内的最佳方法是什么?

amazon-web-services amazon-iam

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