@a-z/iterate-it 中文文档教程

发布于 7年前 浏览 24 项目主页 更新于 3年前

iterate-javascript

订阅发布备注NPM 包MIT license

一个方便的函数一个统一接口来迭代字符串、数组、TypedArrays、Maps、Sets、(任何可迭代对象)& 对象。 该 API 面向 Array.prototype.forEach 具有迭代几乎所有内容迭代跳过的优势。

Installation

$ yarn add @a-z/iterate-it
# or
$ npm i -S @a-z/iterate-it

Usage

模块 @az/itarate-it 导出一个接受参数的函数; 一个可迭代的和一个回调。 iterate 函数返回迭代结果,指示迭代是否完成或已被跳过。

const iterate = require('@a-z/iterate-it');
const { complete } = iterate(iterable, callback);

Parameters

iterable

要迭代的可迭代对象或对象。 支持的类型有 String、Array、TypedArray、Map、Set、(任何 Iterable)& 目的。

callback

要用可迭代对象的每个元素或值调用的函数。 如果函数返回 false,迭代将停止。

该函数采用 3 个参数:

  • value: The current element being processed.
  • key: The corresponding key
  • iterable: The iterable passed to iterate

Return Value

iterate() 返回具有以下属性的状态对象:

  • complete: Will be true if all items have been iterated, falthy if the iteration was stoped before.

Examples

Iterating strings

iterate("a1b2c3d4e5", (char, index, str) => {}); 
// => "12345"
iterate(new String("a1b2c3d4e5"), (char, index, str) => {}); 
// => [String: '12345']

Iterating maps

const map = new Map([['a', 1], ['b', 2], ['c', 3]]);

iterate(map, (value, key) => console.log(key, value)); 
// a 1
// b 2
// c 3

Iterating sets

const set = new Set(['a', 1, 'b']);

iterate(set, (value, key) => console.log(key, value)); 
// a a
// 1 1
// b b

Iterating arrays

const arr = ['a', 1, 'b'];

iterate(arr, (value, index) => console.log(index, value)); 
// 0 a
// 1 1
// 2 b

Iterating typed arrays

const typedArr = new Int32Array([1, 2, -3]);

iterate(typedArr, (value, index) => console.log(index, value));
// 0 1
// 1 2
// 2 -3

Iterating plain objects

const obj = { a: 1, b: 2, c: 3 };

iterate(obj, (value, key) => console.log(key, value)); 
// a 1
// b 2
// c 3

Skipping the iteration

const arr = [1, 2, undefined, 3, 4];

const { complete } = iterate(arr, (value) => {
  console.log(value);

  // skip iteration as soon as there is an invalid item
  if (typeof value === 'undefined') {
    return false;
  }
});

console.log(complete === true)

// 1
// 2
// false

LICENSE

此存档中的文件是根据 MIT 许可发布的。 您可以在 LICENSE 中找到该许可证的副本。

iterate-javascript

Subscribe to Release NotesNPM PackageMIT license

A handy function with a unified interface to iterate Strings, Arrays, TypedArrays, Maps, Sets, (any Iterables) & Objects. The api is oriented on Array.prototype.forEach with the advantage of iterating almost everything and iteration skipping.

Installation

$ yarn add @a-z/iterate-it
# or
$ npm i -S @a-z/iterate-it

Usage

The module @a-z/itarate-it exports a single function that takes to parameters; an iterable and a callback. The iterate function returns a iteration result, that indicates if the iteration was complete of has been skipped.

const iterate = require('@a-z/iterate-it');
const { complete } = iterate(iterable, callback);

Parameters

iterable

The iterable or object to iterate over. Supported types are String, Array, TypedArray, Map, Set, (any Iterable) & Object.

callback

A function to be called with every element or value of the iterable. The iteration will stop if the function returns false.

The function takes 3 parameters:

  • value: The current element being processed.
  • key: The corresponding key
  • iterable: The iterable passed to iterate

Return Value

iterate() returns a status object with the following properties:

  • complete: Will be true if all items have been iterated, falthy if the iteration was stoped before.

Examples

Iterating strings

iterate("a1b2c3d4e5", (char, index, str) => {}); 
// => "12345"
iterate(new String("a1b2c3d4e5"), (char, index, str) => {}); 
// => [String: '12345']

Iterating maps

const map = new Map([['a', 1], ['b', 2], ['c', 3]]);

iterate(map, (value, key) => console.log(key, value)); 
// a 1
// b 2
// c 3

Iterating sets

const set = new Set(['a', 1, 'b']);

iterate(set, (value, key) => console.log(key, value)); 
// a a
// 1 1
// b b

Iterating arrays

const arr = ['a', 1, 'b'];

iterate(arr, (value, index) => console.log(index, value)); 
// 0 a
// 1 1
// 2 b

Iterating typed arrays

const typedArr = new Int32Array([1, 2, -3]);

iterate(typedArr, (value, index) => console.log(index, value));
// 0 1
// 1 2
// 2 -3

Iterating plain objects

const obj = { a: 1, b: 2, c: 3 };

iterate(obj, (value, key) => console.log(key, value)); 
// a 1
// b 2
// c 3

Skipping the iteration

const arr = [1, 2, undefined, 3, 4];

const { complete } = iterate(arr, (value) => {
  console.log(value);

  // skip iteration as soon as there is an invalid item
  if (typeof value === 'undefined') {
    return false;
  }
});

console.log(complete === true)

// 1
// 2
// false

LICENSE

The files in this archive are released under MIT license. You can find a copy of this license in LICENSE.

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文