小编Jam*_*udd的帖子

如何使用格式从 Sublime Text 3 复制?

我在 Sublime Text 3 中有 XML,我想在 Google Slides 中使用它作为示例。问题是当你复制文本时,你最终会得到纯文本,我想保持语法高亮,因为它更容易阅读。这可能吗?我需要一些 Sublime 包吗?

formatting sublimetext3

11
推荐指数
2
解决办法
7248
查看次数

在 Jest 中,有没有一种方法可以深度比较忽略数组顺序的对象?

考虑一下我想通过的 Jest 测试

it('should be equal', function () {
    const data1 = {
        name: "Bob",
        children: [
            {
                name: "Anne",
                children: [
                    "Oliver",
                    "John"
                ]
            },
            {
                name:"Katy"
            }
        ]
    }
    const data2 = {
        name: "Bob",
        children: [
            {
                name:"Katy"
            },
            {
                name: "Anne",
                children: [
                    "John",
                    "Oliver",
                ]
            }
        ]
    }
    expect(data1).toEqual(data2)
});
Run Code Online (Sandbox Code Playgroud)

data1和之间的唯一区别data2是数组的顺序children。是否有一个简单的解决方案来允许深度对象比较但忽略数组顺序?(这是一个简化的情况,我的对象更大/更深)

javascript jestjs

5
推荐指数
0
解决办法
5089
查看次数

使用 Java 流查找不同的数组

考虑这个代码

String[] colours1 = new String[]{"red", "green", "blue"};
String[] colours2 = new String[]{"red", "yellow", "blue"};
String[] colours3 = new String[]{"red", "green", "blue"};

List<String[]> distinct = Stream.of(colours1, colours2, colours3)
        .distinct() // Do something here to compare arrays better
        .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

我希望distinct列表包含 olny 2 元素colours1colours2(因为 1 和 3 是等效的)。然而,因为流distinct()方法执行等于比较,它仍然包含所有 3 种颜色数组。我想要一个自定义的不同功能,您可以在其中提供比较器。在这种情况下Objects#deepEquals就足够了。有没有简单的方法来实现这一目标?

java java-stream

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

为什么没有 OptionalDouble orElseNull() 或更好的解决方案

我有一个计算平均成本的流,代码看起来像这样

private Double calculateAverageCost(List<Item> items) {
    return items.stream()
                .mapToDouble(item -> item.cost)
                .filter(cost -> cost > 0) // Ignore zero cost items
                .average()
                . // Something here to convert an OptionalDouble to value or null
}
Run Code Online (Sandbox Code Playgroud)

我需要返回值或null没有值的方法(例如,当所有成本为零时)。我的问题是不存在orElseNull的方法OptionalDouble做转换。我可以在另一个步骤中完成,例如

private Double calculateAverageCost(List<Item> items) {
    final OptionalDouble average = items.stream()
                .mapToDouble(item -> item.cost)
                .filter(cost -> cost > 0) // Ignore zero cost items
                .average();
    return average.isPresent() ? average.getAsDouble() : null;
}
Run Code Online (Sandbox Code Playgroud)

我意识到这是一个“原始”流,我的方法返回盒装,Double但看起来这可能会有所帮助,类似于 ( Optional.empty().orElseGet(null))。

我缺少原因或更好的解决方案吗?

java optional java-stream

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