跳到主要内容

Object(对象)

Object.compact() ​

说明: 删除所有值为空的字段,即值为 null 或 "" 的字段。

语法: Object.compact()

返回值: Object(对象)

来源: n8n 自定义功能

示例:

// obj = {'x':null, 'y':2, 'z':''}
obj.compact() //=> {'y':2}

Object.hasField() ​

说明: 返回 true 表示存在名为 name 的字段。仅检查顶层键,比较时区分大小写。

语法: Object.hasField(name)

返回值: Boolean(布尔值)

来源: n8n 自定义功能

参数:

  • name(String)— 要查找的键名。

示例:

// obj = {'name':'Nathan', 'age':42}
obj.hasField('name') //=> true
// obj = {'name':'Nathan', 'age':42}
obj.hasField('Name') //=> false
obj.hasField('inventedField') //=> false

Object.isEmpty() ​

说明: 返回 true 的情况是对象没有设置任何键(字段),或对象为 null 或 undefined。

语法: Object.isEmpty()

返回值: Boolean(布尔值)

来源: n8n 自定义功能

示例:

// obj = {'name': 'Nathan'}
obj.isEmpty() //=> false
// obj = {}
obj.isEmpty() //=> true

Object.isNotEmpty() ​

说明: 返回 true 表示对象至少设置了一个键(字段)。

语法: Object.isNotEmpty()

返回值: Boolean(布尔值)

来源: n8n 自定义功能

示例:

// obj = {'name': 'Nathan'}
obj.isNotEmpty() //=> true
// obj = {}
obj.isNotEmpty() //=> false

Object.keepFieldsContaining() ​

说明: 删除值与指定 value 完全不匹配的字段;至少部分匹配的字段予以保留。比较时区分大小写,值不是字符串的字段始终会被删除。

语法: Object.keepFieldsContaining(value)

返回值: Object(对象)

来源: n8n 自定义功能

参数:

  • value(String)— 字段值必须包含此文本才会被保留。

示例:

// obj = {'name': 'Mr Nathan', 'city':'hanoi', age: 42 }
obj.keepFieldsContaining('Nathan') //=> {'name': 'Mr Nathan'}
// obj = {'name': 'Mr Nathan', 'city':'hanoi', age: 42 }
obj.keepFieldsContaining('nathan') //=> {}
obj.keepFieldsContaining('han') //=> {'name': 'Mr Nathan', 'city':'hanoi'}

Object.keys() ​

说明: 返回包含对象所有字段名(键)的数组。与 JavaScript 的 Object.keys(obj) 相同。

语法: Object.keys()

返回值: Array

来源: n8n 自定义功能

示例:

// obj = {'name': 'Mr Nathan', age: 42 }
obj.keys() //=> ['name', 'age']

Object.merge() ​

说明: 将两个对象合并为一个。如果两个对象中存在相同的键(字段名),则使用第一个对象(基础对象)中的值。

语法: Object.merge(otherObject)

返回值: Object(对象)

来源: n8n 自定义功能

参数:

  • otherObject(Object)— 要与基础对象合并的对象。

示例:

// obj1 = {'name':'Nathan', 'age': 42}
// obj2 = {'name':'Jan', 'city': 'hanoi'}
obj1.merge(obj2) //=> {'name':'Jan', 'city': 'hanoi', 'age':42}

Object.removeField() ​

说明: 从对象中删除一个字段。与 JavaScript 的 delete 相同。

语法: Object.removeField(key)

返回值: Object(对象)

来源: n8n 自定义功能

参数:

  • key(String)— 要删除的字段名。

示例:

// obj = {'name':'Nathan', 'city':'hanoi'}
obj.removeField('name') //=> {'city':'hanoi'}

Object.removeFieldsContaining() ​

说明: 删除值与指定 value 至少部分匹配的键(字段)。比较时区分大小写,值不是字符串的字段始终会被保留。

语法: Object.removeFieldsContaining(value)

返回值: Object(对象)

来源: n8n 自定义功能

参数:

  • value(String)— 字段值包含此文本时,该字段会被删除。

示例:

// obj = {'name': 'Mr Nathan', 'city':'hanoi', age: 42}
obj.removeFieldsContaining('Nathan') //=> {'city':'hanoi', age: 42}
// obj = {'name': 'Mr Nathan', 'city':'hanoi', age: 42}
obj.removeFieldsContaining('han') //=> {age: 42}
obj.removeFieldsContaining('nathan') //=> {'name': 'Mr Nathan', 'city':'hanoi', age: 42}

Object.toJsonString() ​

说明: 将对象转换为 JSON 字符串。与 JavaScript 的 JSON.stringify() 类似。

语法: Object.toJsonString()

返回值: String(字符串)

来源: n8n 自定义功能

示例:

// obj = {'name':'Nathan', age:42}
obj.toJsonString() //=> '{"name":"Nathan","age":42}'

Object.urlEncode() ​

说明: 根据对象的键和值生成 URL 参数字符串,仅支持顶层键。

语法: Object.urlEncode()

返回值: String(字符串)

来源: n8n 自定义功能

示例:

// obj = {'name':'Mr Nathan', 'city':'hanoi'}
obj.urlEncode() //=> 'name=Mr+Nathan&city=hanoi'

Object.values() ​

说明: 返回包含对象所有字段值的数组。与 JavaScript 的 Object.values(obj) 相同。

语法: Object.values()

返回值: Array

来源: n8n 自定义功能

示例:

// obj = {'name': 'Mr Nathan', age: 42 }
obj.values() //=> ['Mr Nathan', 42]

相关资源 ​

本文为社区中文翻译。查看对应英文原文