typescript - Java相当于javascript map方法,有两个参数,第二个是索引

标签 typescript ecmascript-6 java-8

我有上面的例子,用 Typescript 写的:

let numbers = [1,2,3,4,5,6];

let indicesOfOddNumbers = numbers
  .map((number, index) => {
    return {
      index, number
    }
  })
  .filter(a => a.number % 2 != 0)
  .map(a => a.index);

Java 如何做类似的事情?

最佳答案

一种基于流的解决方案,一步完成过滤和映射:

IntStream.range(0, numbers.length)
         .boxed()
         .flatMap(index -> numbers[index] % 2 != 0 ? of(index): empty())
         .collect(Collectors.toList());

ofemptyStream 的静态成员。它所做的是检查数字是否为奇数,如果是,则返回索引,否则不返回任何内容。好吧,实际上它返回一个流,但它由 flatMap 解析。

关于typescript - Java相当于javascript map方法,有两个参数,第二个是索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51283616/

相关文章:

java - 有没有办法将数组转换为映射?

java - DateTimeFormatter.ISO_OFFSET_DATE_TIME 的等效格式字符串是什么?

typescript - 我怎样才能找到以前版本的 NPM @types

javascript - 如何以 Angular 等待订阅

javascript - 使用动态扩展类表达式创建新元素

javascript - "Anding"带有 Meteor 的 es6 函数中的 n 个参数

java - 为什么在已经安装了 64 位 JRE 的情况下需要 32 位 JRE 才能运行某些小程序

javascript - 带有鸭子类型对象的 typescript 字符串文字

javascript - 在 create-react-app + typescript 中导入静态 JSON

javascript - 在 ES6 React 类的函数中返回变量或常量