小编fro*_*zen的帖子

当承诺没有任何回报时该怎么办?

当我有一个承诺时,我通常会做这样的事情:

funcPromise()
.then(()=> {
    // some stuff happens
    return value; // what if there's nothing to return here?
})
.then(()=> { //... 
})
.catch(err=>log(err));
Run Code Online (Sandbox Code Playgroud)

但如果没有什么可返回的,我应该做return Promise.resolve()return null,还是干脆return;??我知道在单行中,箭头函数具有隐式返回,但就我而言,它是一个多语句函数。

javascript promise ecmascript-6 es6-promise

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

证明mergesort是稳定的

我写了一个mergesort算法.当我运行以下测试时:

public static void main(String[] args){
    Integer[] arr = {3,7,9,11,0,-5,2,5,8,8,1};
    List<Integer> list = new ArrayList<>();
    list.addAll(Arrays.asList(arr)); // asList() returns fixed size list, so can't pass to mergesort()
    List<Integer> result = mergesort(list);
    System.out.println(result);
  }
Run Code Online (Sandbox Code Playgroud)

我知道[-5, 0, 1, 2, 3, 5, 7, 8, 8, 9, 11],这是正确的.但是,我知道mergesort是一个稳定的类型,所以我怎么能编写一个测试来证明这两个8是按照它们原来的顺序?

编辑:因为我使用了Integer类,而不是原始的int,我想我可以得到hashCode()自从Integer扩展基Object类.

但是,当我尝试

Integer[] arr = {3,7,9,11,0,-5,2,5,8,8,1};
System.out.println(arr[8].hashCode());
System.out.println(arr[9].hashCode());
Run Code Online (Sandbox Code Playgroud)

我只得到:

8
8
Run Code Online (Sandbox Code Playgroud)

java sorting mergesort

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

IDE/Maven 无法识别 Google API

我正在使用 google API 进行 OAuth 令牌验证服务器端。进口产品为:

import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier;
Run Code Online (Sandbox Code Playgroud)

在我的 Mavenpom.xml依赖项部分:

    <dependency>
        <groupId>com.google.oauth-client</groupId>
        <artifactId>google-oauth-client</artifactId>
        <version>1.22.0</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

然而,我得到

无法解析符号“googleapis”

当我检查 中有哪些软件包时com.google.api.client,我也没有看到googleapis。然而,这些导入是直接取自此处的示例的

java maven oauth-2.0 google-api-java-client

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

Python isDisjoint() 运行时

isDisjoint(other)Python 2.7 的集合方法的算法运行时间是多少?intersection(other)它比简单地执行然后检查len()>0返回的交集更快吗?

python runtime set

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

筛选唯一字段值的数组

我知道有很多方法可以过滤数组中的唯一值,但是对于给定字段具有唯一值的对象,过滤数组呢?

例如,我有[obj1, obj2, obj3, ...]每个对象具有以下形式:

{
firstName: "...",
lastName: "..."
}
Run Code Online (Sandbox Code Playgroud)

如何过滤数组以最终数组为止所有对象都具有唯一的名字?单行会更好,但不以可读性为代价.

javascript arrays filter

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

javascript模拟jQuery语法

在jQuery中,'$'别名有很多用途.它就像一个函数:

$('#someid')
Run Code Online (Sandbox Code Playgroud)

但你也可以把它作为一个对象:

$.attr('id', 'hello');
Run Code Online (Sandbox Code Playgroud)

如何创建具有此属性的函数(可以作为自身和方法调用对象)?

编辑:

此外,有时你可以像这样链:

$('id').html('<span>Hello</span>);
Run Code Online (Sandbox Code Playgroud)

如何扩展对象以支持此功能?

javascript

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

具有参数化集合的泛型?

我正在尝试创建一个HashMap版本,如果输入重复键,则不会替换该值,但实际上将两个相应的值一起添加.键值必须是类型,Number以便可以进行添加.但是,它似乎并不理解我V的类型Number,或者至少它是在我试图打电话之前super.put.这就好像Vin HashMap实际上并不是V我声明的那个extend Number.

这里发生了什么?

public class AdditiveMap<K, V extends Number> extends HashMap<K, V>
{
    @Override
    public V put(final K key, final V value)
    {
        if (containsKey(key))
            // Second param Found 'Number', required 'V'
            super.put(key, (Number)(get(key).intValue() + value.intValue()));
        else 
            super.put(key, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics

0
推荐指数
1
解决办法
59
查看次数