从列表的尾部开始删除元素,直到传入的遍历函数返回 true,然后返回剩下的元素。

使用 List.lastIndexWhere() 来遍历执行 test 函数,以找到最后一个满足条件的元素。如果未找到,返回空数据;否则使用 List.sublist() 来返回剩下的元素。

继续阅读 30秒学会 Dart 片段 – dropRightWhile

Gets the day of the year from a Date object.

Use new Date() and Date.prototype.getFullYear() to get the first day of the year as a Date object, subtract it from the provided date and divide with the milliseconds in each day to get the result.
Use Math.floor() to appropriately round the resulting day count to an integer.

继续阅读 30秒学会 JavaScript 片段 – dayOfYear

Groups the elements into two arrays, depending on the provided function’s truthiness for each element.

Use Array.prototype.reduce() to create an array of two arrays.
Use Array.prototype.push() to add elements for which fn returns true to the first array and elements for which fn returns false to the second one.

继续阅读 30秒学会 JavaScript 片段 – partition

Creates a function that invokes the provided function with its arguments arranged according to the specified indexes.

Use Array.prototype.map() to reorder arguments based on indexes in combination with the spread operator (...) to pass the transformed arguments to fn.

继续阅读 30秒学会 JavaScript 片段 – rearg

Curries a function.

Use recursion.
If the number of provided arguments (args) is sufficient, call the passed function fn.
Otherwise, return a curried function fn that expects the rest of the arguments.
If you want to curry a function that accepts a variable number of arguments (a variadic function, e.g. Math.min()), you can optionally pass the number of arguments to the second parameter arity.

继续阅读 30秒学会 JavaScript 片段 – curry