共用方式為


OperationListResult interface

Extends

Array<Operation>

繼承的屬性

length

取得或設定陣列的長度。 這是高於數位中最高索引的數位。

繼承的方法

at(number)
concat((Operation | ConcatArray<Operation>)[])

結合兩個或多個陣列。 這個方法會傳回新的陣列,而不需要修改任何現有的陣列。

concat(ConcatArray<Operation>[])

結合兩個或多個陣列。 這個方法會傳回新的陣列,而不需要修改任何現有的陣列。

copyWithin(number, number, number)

複製開始和結束至從位置目標開始之相同數位的陣列區段之後,傳回這個物件

entries()

傳回數位中每個專案的索引鍵、值組可反覆運算

every((value: Operation, index: number, array: Operation[]) => unknown, any)

判斷陣列的所有成員是否符合指定的測試。

every<S>((value: Operation, index: number, array: Operation[]) => value, any)

判斷陣列的所有成員是否符合指定的測試。

fill(Operation, number, number)

將所有陣列元素從 start 變更為 end 索引至靜態 value,並傳回修改過的陣列

filter((value: Operation, index: number, array: Operation[]) => unknown, any)

傳回符合回呼函式中所指定條件之陣列的專案。

filter<S>((value: Operation, index: number, array: Operation[]) => value, any)

傳回符合回呼函式中所指定條件之陣列的專案。

find((value: Operation, index: number, obj: Operation[]) => unknown, any)
find<S>((this: void, value: Operation, index: number, obj: Operation[]) => value, any)

傳回數位中述詞為 true 且未定義的第一個專案值。

findIndex((value: Operation, index: number, obj: Operation[]) => unknown, any)

傳回陣列中述詞為 true 之第一個專案的索引,否則會傳回 -1。

flat<A, D>(A, D)

傳回新的陣列,其中所有子陣列元素會以遞歸方式串連到指定的深度。

flatMap<U, This>((this: This, value: Operation, index: number, array: Operation[]) => U | (readonly U[]), This)

在陣列的每個元素上呼叫已定義的回呼函式。 然後,將結果扁平化為新的數位。 這與地圖相同,後面接著具有深度 1 的平面。

forEach((value: Operation, index: number, array: Operation[]) => void, any)

針對陣列中的每個項目執行指定的動作。

includes(Operation, number)

判斷陣列是否包含特定專案,並視情況傳回 true 或 false。

indexOf(Operation, number)

傳回陣列中第一次出現值的索引,如果不存在,則傳回 -1。

join(string)

將陣列的所有專案加入字串,並以指定的分隔符字串分隔。

keys()

傳回陣列中索引鍵的反覆運算

lastIndexOf(Operation, number)

傳回陣列中最後一次出現指定值的索引,如果不存在,則傳回 -1。

map<U>((value: Operation, index: number, array: Operation[]) => U, any)

在陣列的每個元素上呼叫已定義的回呼函式,並傳回包含結果的陣列。

pop()

從陣列中移除最後一個專案,並傳回它。 如果陣列是空的,則會傳回未定義且不會修改陣列。

push(Operation[])

將新專案附加至陣列的結尾,並傳回數位的新長度。

reduce((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation)

針對陣列中的所有項目呼叫指定的回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

reduce((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation, Operation)
reduce<U>((previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U, U)

針對陣列中的所有項目呼叫指定的回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

reduceRight((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation)

以遞減順序呼叫陣列中所有元素的指定回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

reduceRight((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation, Operation)
reduceRight<U>((previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U, U)

以遞減順序呼叫陣列中所有元素的指定回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

reverse()

將陣列中的專案反轉為就地。 這個方法會變動陣列,並傳回相同數位的參考。

shift()

從陣列中移除第一個專案,並傳回它。 如果陣列是空的,則會傳回未定義且不會修改陣列。

slice(number, number)

傳回數位區段的複本。 針對開始和結尾,負索引可用來指出陣列結尾的位移。 例如,-2 是指數組的最後一個專案的第二個。

some((value: Operation, index: number, array: Operation[]) => unknown, any)

判斷指定的回呼函式是否針對數位的任何項目傳回 true。

sort((a: Operation, b: Operation) => number)

就地排序陣列。 這個方法會變動陣列,並傳回相同數位的參考。

splice(number, number)

從陣列中移除專案,並視需要將新元素插入其位置,並傳回已刪除的專案。

splice(number, number, Operation[])

從陣列中移除專案,並視需要將新元素插入其位置,並傳回已刪除的專案。

toLocaleString()

傳回數位的字串表示。 元素會使用其 toLocaleString 方法轉換成字串。

toString()

傳回數位的字串表示。

unshift(Operation[])

在陣列開頭插入新的專案,並傳回數位的新長度。

values()

傳回數位中值的反覆運算

[iterator]()

反覆運算

[unscopables]()

傳回對象,當屬性在 'with' 語句中使用時,其屬性會有值 'true'。

繼承的屬性詳細資料

length

取得或設定陣列的長度。 這是高於數位中最高索引的數位。

length: number

屬性值

number

繼承自 Array.length

繼承的方法的詳細資料

at(number)

function at(index: number): undefined | Operation

參數

index

number

傳回

undefined | Operation

繼承自 Array.at 的

concat((Operation | ConcatArray<Operation>)[])

結合兩個或多個陣列。 這個方法會傳回新的陣列,而不需要修改任何現有的陣列。

function concat(items: (Operation | ConcatArray<Operation>)[]): Operation[]

參數

items

(Operation | ConcatArray<Operation>)[]

要加入至陣列結尾的其他陣列和/或專案。

傳回

繼承自 Array.concat

concat(ConcatArray<Operation>[])

結合兩個或多個陣列。 這個方法會傳回新的陣列,而不需要修改任何現有的陣列。

function concat(items: ConcatArray<Operation>[]): Operation[]

參數

items

ConcatArray<Operation>[]

要加入至陣列結尾的其他陣列和/或專案。

傳回

繼承自 Array.concat

copyWithin(number, number, number)

複製開始和結束至從位置目標開始之相同數位的陣列區段之後,傳回這個物件

function copyWithin(target: number, start: number, end?: number): OperationListResult

參數

target

number

如果 target 是負數,則會將它視為 length+target,其中 length 是陣列的長度。

start

number

如果 start 為負數,則會將其視為 length+start。 如果 end 為負數,則會將其視為 length+end。

end

number

如果未指定,則會使用此對象的長度做為其預設值。

傳回

繼承自 Array.copyWithin

entries()

傳回數位中每個專案的索引鍵、值組可反覆運算

function entries(): IterableIterator<[number, Operation]>

傳回

IterableIterator<[number, Operation]>

繼承自 Array.entries

every((value: Operation, index: number, array: Operation[]) => unknown, any)

判斷陣列的所有成員是否符合指定的測試。

function every(predicate: (value: Operation, index: number, array: Operation[]) => unknown, thisArg?: any): boolean

參數

predicate

(value: Operation, index: number, array: Operation[]) => unknown

最多接受三個自變數的函式。 每個方法都會針對數位中的每個元素呼叫述詞函式,直到述詞傳回可強制布爾值 false 的值,或直到數位結尾為止。

thisArg

any

這個關鍵詞可以在述詞函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

傳回

boolean

繼承自 Array.every

every<S>((value: Operation, index: number, array: Operation[]) => value, any)

判斷陣列的所有成員是否符合指定的測試。

function every<S>(predicate: (value: Operation, index: number, array: Operation[]) => value, thisArg?: any): this

參數

predicate

(value: Operation, index: number, array: Operation[]) => value

最多接受三個自變數的函式。 每個方法都會針對數位中的每個元素呼叫述詞函式,直到述詞傳回可強制布爾值 false 的值,或直到數位結尾為止。

thisArg

any

這個關鍵詞可以在述詞函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

傳回

this

繼承自 Array.every

fill(Operation, number, number)

將所有陣列元素從 start 變更為 end 索引至靜態 value,並傳回修改過的陣列

function fill(value: Operation, start?: number, end?: number): OperationListResult

參數

value
Operation

要填入數位區段的值

start

number

要開始填入陣列的索引。 如果 start 為負數,則會將它視為 length+start,其中 length 是陣列的長度。

end

number

要停止填滿陣列的索引。 如果 end 為負數,則會將其視為 length+end。

傳回

繼承自 Array.fill

filter((value: Operation, index: number, array: Operation[]) => unknown, any)

傳回符合回呼函式中所指定條件之陣列的專案。

function filter(predicate: (value: Operation, index: number, array: Operation[]) => unknown, thisArg?: any): Operation[]

參數

predicate

(value: Operation, index: number, array: Operation[]) => unknown

最多接受三個自變數的函式。 篩選方法會針對數位中的每個元素呼叫述詞函式一次。

thisArg

any

這個關鍵詞可以在述詞函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

傳回

繼承自 Array.filter

filter<S>((value: Operation, index: number, array: Operation[]) => value, any)

傳回符合回呼函式中所指定條件之陣列的專案。

function filter<S>(predicate: (value: Operation, index: number, array: Operation[]) => value, thisArg?: any): S[]

參數

predicate

(value: Operation, index: number, array: Operation[]) => value

最多接受三個自變數的函式。 篩選方法會針對數位中的每個元素呼叫述詞函式一次。

thisArg

any

這個關鍵詞可以在述詞函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

傳回

S[]

繼承自 Array.filter

find((value: Operation, index: number, obj: Operation[]) => unknown, any)

function find(predicate: (value: Operation, index: number, obj: Operation[]) => unknown, thisArg?: any): undefined | Operation

參數

predicate

(value: Operation, index: number, obj: Operation[]) => unknown

thisArg

any

傳回

undefined | Operation

繼承自 Array.find

find<S>((this: void, value: Operation, index: number, obj: Operation[]) => value, any)

傳回數位中述詞為 true 且未定義的第一個專案值。

function find<S>(predicate: (this: void, value: Operation, index: number, obj: Operation[]) => value, thisArg?: any): undefined | S

參數

predicate

(this: void, value: Operation, index: number, obj: Operation[]) => value

find 會以遞增順序針對數位的每個元素呼叫述詞一次,直到找到述詞傳回 true 的元素為止。 如果找到這類項目,尋找會立即傳回該專案值。 否則,find 會傳回未定義。

thisArg

any

如果提供,它會作為每個述詞調用的這個值。 如果未提供,則會改用未定義的 。

傳回

undefined | S

繼承自 Array.find

findIndex((value: Operation, index: number, obj: Operation[]) => unknown, any)

傳回陣列中述詞為 true 之第一個專案的索引,否則會傳回 -1。

function findIndex(predicate: (value: Operation, index: number, obj: Operation[]) => unknown, thisArg?: any): number

參數

predicate

(value: Operation, index: number, obj: Operation[]) => unknown

find 會以遞增順序針對數位的每個元素呼叫述詞一次,直到找到述詞傳回 true 的元素為止。 如果找到這類專案,findIndex 會立即傳回該元素索引。 否則,findIndex 會傳回 -1。

thisArg

any

如果提供,它會作為每個述詞調用的這個值。 如果未提供,則會改用未定義的 。

傳回

number

繼承自 Array.findIndex

flat<A, D>(A, D)

傳回新的陣列,其中所有子陣列元素會以遞歸方式串連到指定的深度。

function flat<A, D>(this: A, depth?: D): FlatArray<A, D>[]

參數

this

A

depth

D

遞歸深度上限

傳回

FlatArray<A, D>[]

繼承自 Array.flat

flatMap<U, This>((this: This, value: Operation, index: number, array: Operation[]) => U | (readonly U[]), This)

在陣列的每個元素上呼叫已定義的回呼函式。 然後,將結果扁平化為新的數位。 這與地圖相同,後面接著具有深度 1 的平面。

function flatMap<U, This>(callback: (this: This, value: Operation, index: number, array: Operation[]) => U | (readonly U[]), thisArg?: This): U[]

參數

callback

(this: This, value: Operation, index: number, array: Operation[]) => U | (readonly U[])

最多接受三個自變數的函式。 flatMap 方法會針對數位中的每個元素呼叫回呼函式一次。

thisArg

This

這個關鍵詞可以在回調函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

傳回

U[]

繼承自 Array.flatMap

forEach((value: Operation, index: number, array: Operation[]) => void, any)

針對陣列中的每個項目執行指定的動作。

function forEach(callbackfn: (value: Operation, index: number, array: Operation[]) => void, thisArg?: any)

參數

callbackfn

(value: Operation, index: number, array: Operation[]) => void

最多接受三個自變數的函式。 forEach 會針對陣列中的每個元素呼叫 callbackfn 函式一次。

thisArg

any

這個關鍵詞可以在 callbackfn 函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

繼承自 Array.forEach

includes(Operation, number)

判斷陣列是否包含特定專案,並視情況傳回 true 或 false。

function includes(searchElement: Operation, fromIndex?: number): boolean

參數

searchElement
Operation

要搜尋的專案。

fromIndex

number

在此陣列中開始搜尋 searchElement 的位置。

傳回

boolean

繼承自 Array.includes

indexOf(Operation, number)

傳回陣列中第一次出現值的索引,如果不存在,則傳回 -1。

function indexOf(searchElement: Operation, fromIndex?: number): number

參數

searchElement
Operation

陣列中要尋找的值。

fromIndex

number

要開始搜尋的陣列索引。 如果省略 fromIndex,搜尋會從索引 0 開始。

傳回

number

繼承自 Array.indexOf

join(string)

將陣列的所有專案加入字串,並以指定的分隔符字串分隔。

function join(separator?: string): string

參數

separator

string

字串,用來分隔陣列的其中一個專案與產生的字串中的下一個專案。 如果省略,陣列元素會以逗號分隔。

傳回

string

繼承自 Array.join

keys()

傳回陣列中索引鍵的反覆運算

function keys(): IterableIterator<number>

傳回

IterableIterator<number>

繼承自 Array.keys

lastIndexOf(Operation, number)

傳回陣列中最後一次出現指定值的索引,如果不存在,則傳回 -1。

function lastIndexOf(searchElement: Operation, fromIndex?: number): number

參數

searchElement
Operation

陣列中要尋找的值。

fromIndex

number

要開始向後搜尋的陣列索引。 如果省略 fromIndex,搜尋會從陣列中的最後一個索引開始。

傳回

number

繼承自 Array.lastIndexOf

map<U>((value: Operation, index: number, array: Operation[]) => U, any)

在陣列的每個元素上呼叫已定義的回呼函式,並傳回包含結果的陣列。

function map<U>(callbackfn: (value: Operation, index: number, array: Operation[]) => U, thisArg?: any): U[]

參數

callbackfn

(value: Operation, index: number, array: Operation[]) => U

最多接受三個自變數的函式。 map 方法會針對數位中的每個元素呼叫 callbackfn 函式一次。

thisArg

any

這個關鍵詞可以在 callbackfn 函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

傳回

U[]

繼承自 Array.map

pop()

從陣列中移除最後一個專案,並傳回它。 如果陣列是空的,則會傳回未定義且不會修改陣列。

function pop(): undefined | Operation

傳回

undefined | Operation

繼承自 Array.pop

push(Operation[])

將新專案附加至陣列的結尾,並傳回數位的新長度。

function push(items: Operation[]): number

參數

items

Operation[]

要加入至陣列的新元素。

傳回

number

繼承自 Array.push

reduce((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation)

針對陣列中的所有項目呼叫指定的回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

function reduce(callbackfn: (previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation): Operation

參數

callbackfn

(previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation

最多接受四個自變數的函式。 reduce 方法會針對數位中的每個元素呼叫 callbackfn 函式一次。

傳回

繼承自 Array.reduce

reduce((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation, Operation)

function reduce(callbackfn: (previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation, initialValue: Operation): Operation

參數

callbackfn

(previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation

initialValue
Operation

傳回

繼承自 Array.reduce

reduce<U>((previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U, U)

針對陣列中的所有項目呼叫指定的回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

function reduce<U>(callbackfn: (previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U, initialValue: U): U

參數

callbackfn

(previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U

最多接受四個自變數的函式。 reduce 方法會針對數位中的每個元素呼叫 callbackfn 函式一次。

initialValue

U

如果指定 initialValue,則會用來做為開始累積的初始值。 第一次呼叫 callbackfn 函式會提供此值做為自變數,而不是數位值。

傳回

U

繼承自 Array.reduce

reduceRight((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation)

以遞減順序呼叫陣列中所有元素的指定回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

function reduceRight(callbackfn: (previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation): Operation

參數

callbackfn

(previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation

最多接受四個自變數的函式。 reduceRight 方法會針對數位中的每個元素呼叫 callbackfn 函式一次。

傳回

繼承自 Array.reduceRight

reduceRight((previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation, Operation)

function reduceRight(callbackfn: (previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation, initialValue: Operation): Operation

參數

callbackfn

(previousValue: Operation, currentValue: Operation, currentIndex: number, array: Operation[]) => Operation

initialValue
Operation

傳回

繼承自 Array.reduceRight

reduceRight<U>((previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U, U)

以遞減順序呼叫陣列中所有元素的指定回呼函式。 回呼函式的傳回值是累積的結果,並在下一次呼叫回呼函式時以自變數的形式提供。

function reduceRight<U>(callbackfn: (previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U, initialValue: U): U

參數

callbackfn

(previousValue: U, currentValue: Operation, currentIndex: number, array: Operation[]) => U

最多接受四個自變數的函式。 reduceRight 方法會針對數位中的每個元素呼叫 callbackfn 函式一次。

initialValue

U

如果指定 initialValue,則會用來做為開始累積的初始值。 第一次呼叫 callbackfn 函式會提供此值做為自變數,而不是數位值。

傳回

U

繼承自 Array.reduceRight

reverse()

將陣列中的專案反轉為就地。 這個方法會變動陣列,並傳回相同數位的參考。

function reverse(): Operation[]

傳回

繼承自 Array.reverse

shift()

從陣列中移除第一個專案,並傳回它。 如果陣列是空的,則會傳回未定義且不會修改陣列。

function shift(): undefined | Operation

傳回

undefined | Operation

繼承自 Array.shift

slice(number, number)

傳回數位區段的複本。 針對開始和結尾,負索引可用來指出陣列結尾的位移。 例如,-2 是指數組的最後一個專案的第二個。

function slice(start?: number, end?: number): Operation[]

參數

start

number

陣列指定部分的起始索引。 如果未定義 start,則配量會從索引 0 開始。

end

number

陣列指定部分的結束索引。 這是索引 『end』 中元素的獨佔。 如果 end 未定義,則配量會延伸至陣列的結尾。

傳回

繼承自 Array.slice

some((value: Operation, index: number, array: Operation[]) => unknown, any)

判斷指定的回呼函式是否針對數位的任何項目傳回 true。

function some(predicate: (value: Operation, index: number, array: Operation[]) => unknown, thisArg?: any): boolean

參數

predicate

(value: Operation, index: number, array: Operation[]) => unknown

最多接受三個自變數的函式。 某些方法會針對陣列中的每個元素呼叫述詞函式,直到述詞傳回可強制布爾值 true 的值,或直到數位結尾為止。

thisArg

any

這個關鍵詞可以在述詞函式中參考的物件。 如果省略 thisArg,則會使用 undefined 作為此值。

傳回

boolean

繼承自 Array.some

sort((a: Operation, b: Operation) => number)

就地排序陣列。 這個方法會變動陣列,並傳回相同數位的參考。

function sort(compareFn?: (a: Operation, b: Operation) => number): OperationListResult

參數

compareFn

(a: Operation, b: Operation) => number

用來判斷項目順序的函式。 如果第一個自變數小於第二個自變數,則傳回負值,如果相等則傳回零,否則傳回正值。 如果省略,元素會以遞增的 ASCII 字元順序排序。

[11,2,22,1].sort((a, b) => a - b)

傳回

繼承自 Array.sort

splice(number, number)

從陣列中移除專案,並視需要將新元素插入其位置,並傳回已刪除的專案。

function splice(start: number, deleteCount?: number): Operation[]

參數

start

number

陣列中以零起始的位置,要從中開始移除專案。

deleteCount

number

要移除的項目數目。

傳回

陣列,包含已刪除的專案。

繼承自 Array.splice

splice(number, number, Operation[])

從陣列中移除專案,並視需要將新元素插入其位置,並傳回已刪除的專案。

function splice(start: number, deleteCount: number, items: Operation[]): Operation[]

參數

start

number

陣列中以零起始的位置,要從中開始移除專案。

deleteCount

number

要移除的項目數目。

items

Operation[]

要插入陣列中的元素,以取代已刪除的專案。

傳回

陣列,包含已刪除的專案。

繼承自 Array.splice

toLocaleString()

傳回數位的字串表示。 元素會使用其 toLocaleString 方法轉換成字串。

function toLocaleString(): string

傳回

string

繼承自 Array.toLocaleString

toString()

傳回數位的字串表示。

function toString(): string

傳回

string

繼承自array.toString

unshift(Operation[])

在陣列開頭插入新的專案,並傳回數位的新長度。

function unshift(items: Operation[]): number

參數

items

Operation[]

要插入數位開頭的專案。

傳回

number

繼承自 Array.unshift

values()

傳回數位中值的反覆運算

function values(): IterableIterator<Operation>

傳回

IterableIterator<Operation>

繼承自 Array.values

[iterator]()

反覆運算

function [iterator](): IterableIterator<Operation>

傳回

IterableIterator<Operation>

繼承自 Array.__@iterator@351 的

[unscopables]()

傳回對象,當屬性在 'with' 語句中使用時,其屬性會有值 'true'。

function [unscopables](): { copyWithin: boolean, entries: boolean, fill: boolean, find: boolean, findIndex: boolean, keys: boolean, values: boolean }

傳回

{ copyWithin: boolean, entries: boolean, fill: boolean, find: boolean, findIndex: boolean, keys: boolean, values: boolean }

繼承自 Array.__@unscopables@353