js-partial-foreach
v1.0.5
Published
A partial to provide a better foreach capability similar to PHP's foreach construct by differentiating whether the callback function expects a value or a pair of key-value.
Downloads
4
Readme
js-partial-foreach
Synopsis
A partial to provide a better foreach capability in UMD. This foreach partial automagically detects whether the callback function expects one or multiple arguments similar to PHP's foreach construct by value or key-value distinction.
Works with compressed JavaScript code too, also compatible with ECMAScript 6 arrow functions.
Install
npm install js-partial-foreach
Usage
First, initialize/include the partial, then use it. The actual usage of the partial is the same across all environment.
Usage - Initialize/Include
- AMD (e.g.: RequireJS)
define(['js-partial-foreach'], function(foreach) {
// you can now use foreach
});
- CommonJS (e.g.: NodeJS)
var foreach = require('js-partial-foreach');
// you can now use foreach
- Browser
// load the source from "node_modules/js-partial-foreach/dist/js-partial-foreach.js" - for development
// or from "node_modules/js-partial-foreach/dist/js-partial-foreach.min.js" - for production
var foreach = js_partial_foreach; // it is available in the global namespace
// you can now use foreach
Usage - After Initialization
- With arrays
var array = [1, 2, 3, 4, 5];
foreach(
array,
function(value) {
console.log(value); // 1 .. 5
}
);
foreach(
array,
function(key, value) {
console.log(key + ':' + value); // 0:1 .. 4:5
}
);
- With objects
// for objects
var object = {
a : 1,
b : 2,
c : 3,
d : 4,
e : 5
};
foreach(
object,
function(value) {
console.log(value); // 1 .. 5
}
);
foreach(
object,
function(key, value) {
console.log(key + ':' + value); // a:1 .. e:5
}
);
- With ES6 arrow functions
var array = [1, 2, 3, 4, 5];
foreach(
array,
(value) => {
console.log(value); // 1 .. 5
}
);
foreach(
array,
(key, value) => {
console.log(key + ':' + value); // 0:1 .. 4:5
}
);
- With strings
var string = 'abcdefgh';
foreach(
string,
function(char) {
console.log(char); // 'a' .. 'h'
}
);
Documentation
Check the source here since it's very well documented. Also you can find the rendered jsDoc documentation on Doclets.io.
Have fun! ;)
Issues
If you find any bugs and other issues, check the GSDC Guide - Issues section on how to submit issues in a standardized way on the project's issues page.
In case you have any suggestions regarding the project (features, additional capabilities, etc.), check the GSDC Guide - Suggestions section on how to submit suggestions in an easy, standardized way on the project's issues page.
Contribution
In order to contribute to this project, check the GSDC Guide for an easy, standardized way on how to contribute to projects.
Support
If you by any means find this project useful, consider supporting the organization.
There are multiple options to support the project and the developers. Any means of support is beneficial and helpful.
License
MIT @ Richard King