-
-
Notifications
You must be signed in to change notification settings - Fork 867
Closed
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.Good First IssueA good first issue for new contributors!A good first issue for new contributors!JavaScriptIssue involves or relates to JavaScript.Issue involves or relates to JavaScript.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.difficulty: 2May require some initial design or R&D, but should be straightforward to resolve and/or implement.May require some initial design or R&D, but should be straightforward to resolve and/or implement.priority: NormalNormal priority concern or feature request.Normal priority concern or feature request.
Description
Description
This RFC proposes adding the package @stdlib/array/base/cuevery-by-right
, which cumulatively tests whether every array element in a provided array passes a test implemented by a predicate function, while iterating from right-to-left. The function should return a new generic array. The package should also provide an #assign
API for setting output values in a provided output array.
function isPositive( value ) {
return ( value > 0 );
}
var x = [ 0, 0, 1, 1, 1 ];
var y1 = cueveryByRight( x, isPositive );
// returns [ true, true, true, false, false ]
var y2 = [ false, null, false, null, false, null, false, null, false, null ];
var out = cueveryByRight.assign( x, y2, 2, 0, isPositive );
// returns [ true, null, true, null, true, null, false, null, false, null ]
var bool = ( out === y2 );
// returns true
where the assign
API supports an offset and stride (see, e.g., @stdlib/array/base/take
). Note that, by iterating from right to left, the values in the output array are equivalent to having first reversed the input array x
and then using left-to-right iteration.
Both APIs should support accessor arrays (see, e.g., @stdlib/array/base/take
).
Related Issues
No.
Questions
No.
Other
- See also
@stdlib/array/base/every-by-right
Checklist
- I have read and understood the Code of Conduct.
- Searched for existing issues and pull requests.
- The issue name begins with
RFC:
.
Metadata
Metadata
Assignees
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.Good First IssueA good first issue for new contributors!A good first issue for new contributors!JavaScriptIssue involves or relates to JavaScript.Issue involves or relates to JavaScript.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.difficulty: 2May require some initial design or R&D, but should be straightforward to resolve and/or implement.May require some initial design or R&D, but should be straightforward to resolve and/or implement.priority: NormalNormal priority concern or feature request.Normal priority concern or feature request.