此类包含各种实用工具函数。这些函数也直接在 tinymce 命名空间中公开。

摘要

方法

名称摘要定义者

each()

对集合(如对象或数组)中的所有项执行迭代。该方法将对集合中的每个项执行回调函数,如果回调返回 false,迭代将终止。回调格式为:cb(value, key_or_index)。

Tools

explode()

分割字符串,但去除每个值前后的空白。

Tools

grep()

通过为每个项调用指定函数来过滤输入数组中的项。如果函数返回 false,则排除该项;如果返回 true,则包含该项。

Tools

hasOwnProperty()

JavaScript 不保护 hasOwnProperty 方法,因此可能会被覆盖。这是一个独立于对象的版本。检查输入对象 obj 是否具有属性 prop。

Tools

inArray()

返回项的索引,如果项不在数组中则返回 -1。

Tools

is()

检查对象是否为特定类型,例如数组。

Tools

isArray()

判断对象是否为数组,返回 true/false。

Tools

makeMap()

从包含名称的数组创建名称/对象映射。

Tools

map()

通过每次迭代函数调用的返回值创建新数组。这使得可以将一个数组列表转换为另一个数组列表。

Tools

resolve()

解析字符串并从特定结构返回对象。

Tools

toArray()

将指定对象转换为真正的 JavaScript 数组。

Tools

trim()

去除字符串开头和结尾的空白。

Tools

walk()

对对象树中的每个项执行指定函数。

Tools

方法

each()

each(o: Object, cb: Function, s: Object)

对集合(如对象或数组)中的所有项执行迭代。该方法将对集合中的每个项执行回调函数,如果回调返回 false,迭代将终止。回调格式为:cb(value, key_or_index)。

示例

// 遍历数组
tinymce.each([ 1,2,3 ], (v, i) => {
  console.debug("Value: " + v + ", Index: " + i);
});

// 遍历对象
tinymce.each({ a: 1, b: 2, c: 3 }, (v, k) => {
  console.debug("Value: " + v + ", Key: " + k);
});

参数

  • o (Object) - 要迭代的集合。

  • cb (Function) - 为每个项执行的回调函数。

  • s (Object) - 可选的回调执行作用域。


explode()

explode(s: String, d: String)

分割字符串,但去除每个值前后的空白。

示例

// 将字符串分割为包含 a、b、c 的数组
const arr = tinymce.explode('a, b,   c');

参数

  • s (String) - 要分割的字符串。

  • d (String) - 用于分割的分隔符。


grep()

grep(a: Array, f: Function): Array

通过为每个项调用指定函数来过滤输入数组中的项。如果函数返回 false,则排除该项;如果返回 true,则包含该项。

示例

// 过滤出一些项,这将返回包含 4 和 5 的数组
const items = tinymce.grep([ 1,2,3,4,5 ], (v) => v > 3);

参数

  • a (Array) - 要循环遍历的项数组。

  • f (Function) - 为每个项调用的函数。包含/排除取决于其返回值。

返回值

  • Array - 基于输入导入和过滤的新数组。


hasOwnProperty()

hasOwnProperty(obj: Object, prop: String): Boolean

JavaScript 不保护 hasOwnProperty 方法,因此可能会被覆盖。这是一个独立于对象的版本。检查输入对象 obj 是否具有属性 prop。

参数

  • obj (Object) - 要检查属性是否存在的对象。

  • prop (String) - 对象上的属性名称。

返回值

  • Boolean - 如果对象具有指定属性则为 true。


inArray()

inArray(item: any, arr: Array): Number

返回项的索引,如果项不在数组中则返回 -1。

参数

  • item (any) - 要搜索的项。

  • <
  • arr (Array) - 要在其中搜索的数组。

返回值

  • Number - 项目的索引,如果未找到项目则为 -1。


is()

is(obj: Object, type: String): Boolean

检查对象是否为特定类型,例如数组。

参数

  • obj (Object) - 要检查类型的对象。

  • type (String) - 可选的要检查的类型。

返回值

  • Boolean - 如果对象是指定类型则为 true/false。


isArray()

isArray(obj: Object): Boolean

如果对象是数组则返回 true/false。

参数

  • obj (Object) - 要检查的对象。

返回值

  • Boolean - 指示对象是否为数组的 true/false 状态。


makeMap()

makeMap(items: Array | String, delim: String, map: Object): Object

从带有名称的数组创建一个名称/对象映射。

参数

  • items (Array | String) - 要创建映射的项目。

  • delim (String) - 可选的用于分割字符串的分隔符。

  • map (Object) - 可选的要添加项目的映射。

返回值

  • Object - 项目的名称/值映射。


map()

map(array: Array, callback: Function): Array

根据每次迭代函数调用的返回值创建一个新数组。这使你能够将一个数组列表转换为另一个数组列表。

参数

  • array (Array) - 要迭代的项目数组。

  • callback (Function) - 要对每个项目调用的函数。它的返回值将成为新值。

返回值

  • Array - 基于函数返回值的新值数组。


resolve()

resolve(n: String, o: Object): Object

解析一个字符串并从特定结构中返回对象。

示例

// 将路径解析为对象引用
const obj = tinymce.resolve('a.b.c.d');

参数

  • n (String) - 要解析的路径,例如 a.b.c.d。

  • o (Object) - 可选的要搜索的对象,默认为 window。

返回值

  • Object - 路径中的最后一个对象,如果无法解析则为 null。


toArray()

toArray(obj: Object): Array

将指定的对象转换为真正的 JavaScript 数组。

参数

  • obj (Object) - 要转换为数组的对象。

返回值

  • Array - 基于输入的数组对象。


trim()

trim(s: String): String

从字符串的开头和结尾移除空白字符。

参数

  • s (String) - 要移除空白字符的字符串。

返回值

  • String - 移除了空白字符的新字符串。


walk()

walk(o: Object, f: Function, n: String, s: String)

对对象树中的每个项目执行指定的函数。

参数

  • o (Object) - 要遍历的对象树。

  • f (Function) - 要对每个项目调用的函数。

  • n (String) - 可选的要遍历的对象内部的集合名称,例如 childNodes。

  • s (String) - 可选的要在其中执行函数的范围。