توابع آرایه

توابع آرایه

نام توضیحات
ARRAY یک ARRAY شامل یک عنصر برای هر آرگومان ورودی برمی‌گرداند
ARRAY_CONCAT چندین آرایه را به یک ARRAY واحد متصل می‌کند.
ARRAY_CONTAINS اگر ARRAY داده شده حاوی مقدار خاصی باشد TRUE را برمی‌گرداند.
ARRAY_CONTAINS_ALL اگر همه مقادیر در ARRAY وجود داشته باشند، TRUE برمی‌گرداند
ARRAY_CONTAINS_ANY اگر هر یک از مقادیر در ARRAY وجود داشته باشد، TRUE برمی‌گرداند
ARRAY_FILTER عناصری را از یک ARRAY که با یک گزاره مطابقت ندارند، فیلتر می‌کند.
ARRAY_FIRST اولین عنصر در یک ARRAY را برمی‌گرداند
ARRAY_FIRST_N n عنصر اول یک ARRAY را برمی‌گرداند。
ARRAY_GET عنصر موجود در یک اندیس مشخص در یک ARRAY را برمی‌گرداند.
ARRAY_INDEX_OF اندیس اولین رخداد یک مقدار در یک ARRAY را برمی‌گرداند。
ARRAY_INDEX_OF_ALL تمام اندیس‌های یک مقدار در یک ARRAY را برمی‌گرداند。
ARRAY_LENGTH تعداد عناصر موجود در یک ARRAY را برمی‌گرداند
ARRAY_LAST آخرین عنصر در یک ARRAY را برمی‌گرداند
ARRAY_LAST_N آخرین n عنصر در یک ARRAY را برمی‌گرداند。
ARRAY_REVERSE ترتیب عناصر یک ARRAY را معکوس می‌کند.
ARRAY_SLICE یک برش از یک ARRAY را برمی‌گرداند
ARRAY_TRANSFORM عناصر یک ARRAY را با اعمال عبارت به هر عنصر، تبدیل می‌کند.
MAXIMUM حداکثر مقدار را در یک ARRAY برمی‌گرداند。
MAXIMUM_N n تا از بزرگترین مقادیر موجود در یک ARRAY را برمی‌گرداند.
MINIMUM حداقل مقدار را در یک ARRAY برمی‌گرداند。
MINIMUM_N n تا از کوچکترین مقادیر موجود در یک ARRAY را برمی‌گرداند.
SUM مجموع تمام مقادیر NUMERIC موجود در یک ARRAY را برمی‌گرداند.
JOIN عناصر موجود در یک ARRAY را به صورت یک مقدار STRING به هم پیوند می‌دهد.

آرایه

نحو:

array(values: ANY...) -> ARRAY

شرح:

یک آرایه از عناصر داده شده می‌سازد.

  • اگر آرگومانی وجود نداشته باشد، در آرایه حاصل با NULL جایگزین می‌شود.

مثال‌ها:

ارزش‌ها array(values)
() []
(1، 2، 3) [1، 2، 3]
("الف"، ۱، درست) ["الف"، 1، درست]
(1، تهی) [1، تهی]
(1، [2، 3]) [1، [2، 3]]

آرایه_کانکت

نحو:

array_concat(arrays: ARRAY...) -> ARRAY

شرح:

دو یا چند آرایه را در یک ARRAY واحد به هم متصل می‌کند.

مثال‌ها:

آرایه‌ها array_concat(arrays)
([1، 2]، [3، 4]) [1، 2، 3، 4]
(["الف"، "ب"]، ["ج"]) ["الف"، "ب"، "ج"]
([1]، [2]، [3]) [1، 2، 3]
([]، [1، 2]) [1، 2]
نود جی اس
const result = await db.pipeline()
  .collection("books")
  .select(field("genre").arrayConcat([field("subGenre")]).as("allGenres"))
  .execute();
سویفت
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayConcat([Field("subGenre")]).as("allGenres")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres"))
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayConcat(field("subGenre")).alias("allGenres"))
    .execute();
    
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_concat(Field.of("subGenre")).as_("allGenres"))
    .execute()
)
جاوا
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayConcat(field("genre"), field("subGenre")).as("allGenres"))
        .execute()
        .get();

محتویات آرایه

نحو:

array_contains(array: ARRAY, value: ANY) -> BOOLEAN

شرح:

اگر value در array یافت شود، TRUE و در غیر این صورت FALSE را برمی‌گرداند.

مثال‌ها:

آرایه ارزش array_contains(array, value)
[1، 2، 3] ۲ درست
[[1، 2]، [3]] [1، 2] درست
[1، تهی] تهی درست
"ای بی سی" هر خطا
نود جی اس
const result = await db.pipeline()
  .collection("books")
  .select(field("genre").arrayContains(constant("mystery")).as("isMystery"))
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("genre").arrayContains(constant("mystery")).as("isMystery"))
);
سویفت
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayContains(Constant("mystery")).as("isMystery")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayContains("mystery").alias("isMystery"))
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayContains("mystery").alias("isMystery"))
    .execute();
    
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_contains("mystery").as_("isMystery"))
    .execute()
)
جاوا
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayContains(field("genre"), "mystery").as("isMystery"))
        .execute()
        .get();

آرایه شامل همه چیز است

نحو:

array_contains_all(array: ARRAY, search_values: ARRAY) -> BOOLEAN

شرح:

اگر همه search_values در array پیدا شوند، مقدار TRUE و در غیر این صورت FALSE برمی‌گرداند.

مثال‌ها:

آرایه مقادیر_جستجو array_contains_all(array, search_values)
[1، 2، 3] [1، 2] درست
[1، 2، 3] [1، 4] نادرست
[1، تهی] [تهی] درست
[نان] [نان] درست
[] [] درست
[1، 2، 3] [] درست
نود جی اس
const result = await db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAll([constant("fantasy"), constant("adventure")])
      .as("isFantasyAdventure")
  )
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAll([constant("fantasy"), constant("adventure")])
      .as("isFantasyAdventure")
  )
);
سویفت
let result = try await db.pipeline()
  .collection("books")
  .select([
    Field("genre")
      .arrayContainsAll([Constant("fantasy"), Constant("adventure")])
      .as("isFantasyAdventure")
  ])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAll(listOf("fantasy", "adventure"))
            .alias("isFantasyAdventure")
    )
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAll(Arrays.asList("fantasy", "adventure"))
            .alias("isFantasyAdventure")
    )
    .execute();
    
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(
        Field.of("genre")
        .array_contains_all(["fantasy", "adventure"])
        .as_("isFantasyAdventure")
    )
    .execute()
)
جاوا
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(
            arrayContainsAll(field("genre"), Arrays.asList("fantasy", "adventure"))
                .as("isFantasyAdventure"))
        .execute()
        .get();

آرایه شامل هر چیزی است

نحو:

array_contains_any(array: ARRAY, search_values: ARRAY) -> BOOLEAN

شرح:

اگر هر یک از مقادیر search_values در array یافت شود، مقدار TRUE و در غیر این صورت FALSE برمی‌گرداند.

مثال‌ها:

آرایه مقادیر_جستجو array_contains_any(array, search_values)
[1، 2، 3] [4، 1] درست
[1، 2، 3] [4، 5] نادرست
[1، 2، تهی] [تهی] درست
نود جی اس
const result = await db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAny([constant("fantasy"), constant("nonfiction")])
      .as("isMysteryOrFantasy")
  )
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(
    field("genre")
      .arrayContainsAny([constant("fantasy"), constant("nonfiction")])
      .as("isMysteryOrFantasy")
  )
);
سویفت
let result = try await db.pipeline()
  .collection("books")
  .select([
    Field("genre")
      .arrayContainsAny([Constant("fantasy"), Constant("nonfiction")])
      .as("isMysteryOrFantasy")
  ])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAny(listOf("fantasy", "nonfiction"))
            .alias("isMysteryOrFantasy")
    )
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(
        field("genre")
            .arrayContainsAny(Arrays.asList("fantasy", "nonfiction"))
            .alias("isMysteryOrFantasy")
    )
    .execute();
    
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(
        Field.of("genre")
        .array_contains_any(["fantasy", "nonfiction"])
        .as_("isMysteryOrFantasy")
    )
    .execute()
)
جاوا
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(
            arrayContainsAny(field("genre"), Arrays.asList("fantasy", "nonfiction"))
                .as("isMysteryOrFantasy"))
        .execute()
        .get();

فیلتر آرایه

نحو:

array_filter(array: ARRAY, predicate: (ANY) -> BOOLEAN) -> ARRAY

شرح:

array با استفاده از یک عبارت predicate فیلتر می‌کند و یک آرایه جدید با عناصری که فقط با عبارت محمولی مطابقت دارند، برمی‌گرداند.

  • برای هر عنصر در array ، predicate ارزیابی می‌شود. اگر مقدار true را برگرداند، عنصر در نتیجه گنجانده می‌شود؛ در غیر این صورت (اگر false یا null را برگرداند)، حذف می‌شود.
  • اگر مقدار گزاره predicate غیر بولی یا غیر تهی (non-null) باشد، تابع خطا برمی‌گرداند.

مثال‌ها:

آرایه گزاره array_filter(array, predicate)
[1، 2، 3] ایکس -> ایکس > ۱ [2، 3]
[1، تهی، 3] ایکس -> ایکس > ۱ [3]
["الف"، "ب"، "ج"] x -> x != "b" ["الف"، "ج"]
[] ایکس -> درست []

آرایه_دریافت

نحو:

array_get(array: ARRAY, index: INT64) -> ANY

شرح:

عنصری را که در index مبتنی بر 0 در array قرار دارد، برمی‌گرداند.

  • اگر index منفی باشد، عناصر از انتهای آرایه قابل دسترسی هستند، که در آن -1 آخرین عنصر است.
  • اگر array از نوع ARRAY و null نباشد، خطا برمی‌گرداند.
  • اگر index خارج از محدوده باشد، تابع مقداری را برمی‌گرداند که وجود ندارد.
  • اگر index از نوع INT64 نباشد، تابع خطا برمی‌گرداند.

مثال‌ها:

آرایه شاخص array_get(array, index)
[1، 2، 3] 0 ۱
[1، 2، 3] -1 ۳
[1، 2، 3] ۳ غایب
[1، 2، 3] -4 غایب
"ای بی سی" 0 خطا
تهی 0 تهی
Array «الف» خطا
Array ۲.۰ خطا

طول آرایه

نحو:

array_length(array: ARRAY) -> INT64

شرح:

تعداد عناصر موجود در array را برمی‌گرداند.

مثال‌ها:

آرایه array_length(array)
[1، 2، 3] ۳
[] 0
[1، 1، 1] ۳
[1، تهی] ۲
نود جی اس
const result = await db.pipeline()
  .collection("books")
  .select(field("genre").arrayLength().as("genreCount"))
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("genre").arrayLength().as("genreCount"))
);
سویفت
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayLength().as("genreCount")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayLength().alias("genreCount"))
    .execute()

Java

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayLength().alias("genreCount"))
    .execute();
    
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_length().as_("genreCount"))
    .execute()
)
جاوا
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayLength(field("genre")).as("genreCount"))
        .execute()
        .get();

معکوس آرایه

نحو:

array_reverse(array: ARRAY) -> ARRAY

شرح:

array داده شده را معکوس می‌کند.

مثال‌ها:

آرایه array_reverse(array)
[1، 2، 3] [3، 2، 1]
["الف"، "ب"] ["ب"، "الف"]
[1، 2، 2، 3] [3، 2، 2، 1]
نود جی اس
const result = await db.pipeline()
  .collection("books")
  .select(arrayReverse(field("genre")).as("reversedGenres"))
  .execute();

Web

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("genre").arrayReverse().as("reversedGenres"))
);
سویفت
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayReverse().as("reversedGenres")])
  .execute()

Kotlin

val result = db.pipeline()
    .collection("books")
    .select(field("genre").arrayReverse().alias("reversedGenres"))
    .execute()
    

Java

Task<Pipeline.Snapshot> result = db.pipeline() .collection("books") .select(field("genre").arrayReverse().alias("reversedGenres")) .execute();
پایتون
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("genre").array_reverse().as_("reversedGenres"))
    .execute()
)
جاوا
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(arrayReverse(field("genre")).as("reversedGenres"))
        .execute()
        .get();

آرایه اول

نحو:

array_first(array: ARRAY) -> ANY

شرح:

اولین عنصر array را برمی‌گرداند. این معادل array_get(array, 0) است.

  • اگر array خالی باشد، مقداری که وجود ندارد را برمی‌گرداند.

مثال‌ها:

آرایه array_first(array)
[1، 2، 3] ۱
[] غایب

آرایه اول

نحو:

array_first_n(array: ARRAY, n: INT64) -> ARRAY

شرح:

n عنصر اول array را برمی‌گرداند. این معادل array_slice(array, 0, n) است.

  • اگر n منفی باشد، خطا برمی‌گرداند.

مثال‌ها:

آرایه ن array_first_n(array, n)
[1، 2، 3، 4، 5] ۳ [1، 2، 3]
[1، 2] ۳ [1، 2]
[1، 2، 3] 0 []

آرایه_ایندکس_از

نحو:

array_index_of(array: ARRAY, value: ANY) -> INT64

شرح:

اندیس اولین رخداد value در array که بر اساس ۰ است را برمی‌گرداند. اگر value پیدا نشود، عدد -۱ را برمی‌گرداند.

مثال‌ها:

آرایه ارزش array_index_of(array, value)
[1، 2، 3، 2] ۲ ۱
[1، 2، 3] ۴ -1
[1، تهی، 3] تهی ۱

آرایه_فهرست_از_همه

نحو:

array_index_of_all(array: ARRAY, value: ANY) -> ARRAY<INT64>

شرح:

آرایه‌ای شامل اندیس‌های مبتنی بر صفرِ تمام تکرارهای value در array را برمی‌گرداند. اگر value پیدا نشود [] را برمی‌گرداند.

مثال‌ها:

آرایه ارزش array_index_of_all(array, value)
[1، 2، 3، 2] ۲ [1، 3]
[1، 2، 3] ۴ []
[1، تهی، 3، تهی] تهی [1، 3]

آخرین آرایه

نحو:

array_last(array: ARRAY) -> ANY

شرح:

آخرین عنصر array را برمی‌گرداند. این معادل array_get(array, -1) است.

  • اگر array خالی باشد، مقداری که وجود ندارد را برمی‌گرداند.

مثال‌ها:

آرایه array_last(array)
[1، 2، 3] ۳
[] غایب

آرایه_آخرین_شماره

نحو:

array_last_n(array: ARRAY, n: INT64) -> ARRAY

شرح:

آخرین n عنصر array را برمی‌گرداند.

  • اگر n منفی باشد، خطا برمی‌گرداند.

مثال‌ها:

آرایه ن array_last_n(array, n)
[1، 2، 3، 4، 5] ۳ [3، 4، 5]
[1، 2] ۳ [1، 2]
[1، 2، 3] 0 []

آرایه_اسلش

نحو:

array_slice(array: ARRAY, offset: INT64, length: INT64) -> ARRAY

شرح:

زیرمجموعه‌ای از array که از offset اندیس مبتنی بر ۰ شروع می‌شود و شامل عناصر length است، برمی‌گرداند.

  • اگر offset منفی باشد، موقعیت شروع از انتهای آرایه را نشان می‌دهد، که -1 آخرین عنصر است.
  • اگر length بیشتر از تعداد عناصر باقی مانده در آرایه پس از offset باشد، نتیجه تا انتهای آرایه امتداد می‌یابد.
  • length باید غیر منفی باشد، در غیر این صورت خطا برمی‌گرداند.

مثال‌ها:

آرایه جبران طول array_slice(array, offset, length)
[1، 2، 3، 4، 5] ۱ ۳ [2، 3، 4]
[1، 2، 3، 4، 5] ۲ [4، 5]
[1، 2، 3] ۱ ۵ [2، 3]
[1، 2، 3] ۳ ۲ []

تبدیل آرایه

نحو:

array_transform(array: ARRAY, expression: (ANY) -> ANY) -> ARRAY
array_transform(array: ARRAY, expression: (ANY, INT64) -> ANY) -> ARRAY

شرح:

با اعمال expression به هر عنصر، array تبدیل می‌کند و یک آرایه جدید با عناصر تبدیل‌شده را برمی‌گرداند. آرایه خروجی همیشه اندازه‌ای برابر با آرایه ورودی خواهد داشت.

  • expression می‌تواند یک تابع تکی باشد element -> result یا یک تابع دودویی (element, index) -> result .
  • اگر expression تکی باشد، با هر عنصر array فراخوانی می‌شود.
  • اگر expression دودویی باشد، با هر عنصر array و اندیس متناظر مبتنی بر 0 آن فراخوانی می‌شود.

مثال‌ها:

آرایه بیان array_transform(array, expression)
[1، 2، 3] ایکس -> ایکس * ۲ [2، 4، 6]
[1، 2، 3] ایکس -> ایکس + ۱ [2، 3، 4]
[10، 20] (x، i) -> x + i [10، 21]
[] ایکس -> ۱ []

حداکثر

نحو:

maximum(array: ARRAY) -> ANY

شرح:

حداکثر مقدار موجود در array را برمی‌گرداند.

  • مقادیر NULL در طول مقایسه نادیده گرفته می‌شوند.
  • اگر array خالی باشد یا فقط شامل مقادیر NULL باشد، NULL را برمی‌گرداند.

مثال‌ها:

آرایه maximum(array)
[1، 5، 2] ۵
[1، تهی، 5] ۵
["الف"، "ج"، "ب"] «سی»
[تهی، تهی] تهی
[] تهی

حداکثر_N

نحو:

maximum_n(array: ARRAY, n: INT64) -> ARRAY

شرح:

آرایه‌ای از n بزرگترین مقادیر موجود در array را به ترتیب نزولی برمی‌گرداند.

  • مقادیر NULL نادیده گرفته می‌شوند.
  • اگر n منفی باشد، خطا برمی‌گرداند.

مثال‌ها:

آرایه ن maximum_n(array, n)
[1، 5، 2، 4، 3] ۳ [5، 4، 3]
[1، تهی، 5] ۳ [5، 1]

حداقل

نحو:

minimum(array: ARRAY) -> ANY

شرح:

کمترین مقدار را در array برمی‌گرداند.

  • مقادیر NULL در طول مقایسه نادیده گرفته می‌شوند.
  • اگر array خالی باشد یا فقط شامل مقادیر NULL باشد، NULL را برمی‌گرداند.

مثال‌ها:

آرایه minimum(array)
[1، 5، 2] ۱
[5، تهی، 1] ۱
["الف"، "ج"، "ب"] «الف»
[تهی، تهی] تهی
[] تهی

حداقل تعداد

نحو:

minimum_n(array: ARRAY, n: INT64) -> ARRAY

شرح:

آرایه‌ای از n کوچکترین مقادیر موجود در array را به ترتیب صعودی برمی‌گرداند.

  • مقادیر NULL نادیده گرفته می‌شوند.
  • اگر n منفی باشد، خطا برمی‌گرداند.

مثال‌ها:

آرایه ن minimum_n(array, n)
[1، 5، 2، 4، 3] ۳ [1، 2، 3]
[5، تهی، 1] ۳ [1، 5]

جمع

نحو:

sum(array: ARRAY) -> INT64 | FLOAT64

شرح:

مجموع تمام مقادیر NUMERIC موجود در یک ARRAY را برمی‌گرداند.

  • مقادیر غیر عددی در آرایه نادیده گرفته می‌شوند.
  • اگر هر مقدار عددی در آرایه NaN باشد، تابع مقدار NaN را برمی‌گرداند.
  • نوع بازگشتی توسط عریض‌ترین نوع عددی در آرایه تعیین می‌شود: INT64 < FLOAT64 .
  • اگر قبل از جمع کردن هر مقدار اعشاری، سرریز عدد صحیح ۶۴ بیتی رخ دهد، خطایی برگردانده می‌شود. اگر مقادیر اعشاری جمع شوند، سرریز منجر به بی‌نهایت +/- خواهد شد.
  • اگر آرایه اصلاً حاوی مقادیر عددی نباشد، تابع مقدار NULL را برمی‌گرداند.

مثال‌ها:

آرایه sum(array)
[1، 2، 3] 6 لیتر
[۱ لیتر، ۲ لیتر، ۳ لیتر] 6 لیتر
[2000000000، 2000000000] ۴۰۰۰۰۰۰۰۰۰لیتر
[10، 20.5] ۳۰.۵
[1، "الف"، 2] ۳ لیتر
[INT64.MAX_VALUE، ۱] خطا
[INT64.MAX_VALUE، ۱، -۱.۰] خطا
[INT64.MAX_VALUE، ۱.۰] ۹.۲۲۳۳۷۲۰۳۶۸۵۴۷۷۶e+۱۸

بپیوندید

نحو:

join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T) -> STRING
join[T <: STRING | BYTES](array: ARRAY<T>, delimiter: T, null_text: T) -> STRING

شرح:

مجموعه‌ای از عناصر موجود در array را به صورت یک STRING برمی‌گرداند. array می‌تواند از نوع داده STRING یا BYTES باشد.

  • تمام عناصر موجود در array ، delimiter و null_text باید از یک نوع باشند؛ همه آنها باید STRING یا همه BYTES باشند.
  • اگر null_text ارائه شود، هر مقدار NULL در array با null_text جایگزین می‌شود.
  • اگر null_text ارائه نشود، مقادیر NULL در array از نتیجه حذف می‌شوند.

مثال‌ها:

وقتی null_text ارائه نشود:

آرایه جداکننده join(array, delimiter)
["الف"، "ب"، "ج"] "،" «الف، ب، ج»
["الف"، تهی، "ج"] "،" «الف، ج»
[ب'آ'، ب'ب'، ب'ک'] ب'،' ب، ا، ب، ج
["الف"، ب'ج'] "،" خطا
["الف"، "ج"] ب'،' خطا
[ب'a'، ب'c'] "،" خطا

وقتی null_text ارائه می‌شود:

آرایه جداکننده متن_خالی join(array, delimiter, null_text)
["الف"، تهی، "ج"] "،" «گمشده» «الف، مفقود، ج»
[b'a'، تهی، b'c'] ب'،' پوچ ب'a، تهی، ج'
[تهی، "ب"، تهی] "،" «گمشده» «گمشده، ب، گم‌شده»
[b'a'، تهی، تهی] ب'،' پوچ بی، پوچ، پوچ
["الف"، تهی] "،" بی.ان. خطا
[b'a'، تهی] ب'،' «ن» خطا