Dart 中常用的陣列操作方法總結

2021-10-04 10:29:57 字數 4019 閱讀 4284

作者 三也視界

這位博主寫的很詳細到位,留下傳送門,感謝

dart 中常用的陣列操作方法總結

首先,我們準備兩組資料,以方便後面使用:

list

students =[,

,];list numbers =[2

,8,5

,1,7

,3];

本文中用到的 students 及 numbers 均指的是這裡已經定義好的,後面不再重複。

foreach()

可以遍歷乙個陣列或者是乙個map

students.

foreach

((student)

=>

print

(student));

// //

// map tom =

;tom.

foreach

((key, value)

=>

print

(key +

' - '

+ value.

tostring()

));// name - tom

// age - 16

map()

可以用來操作已知陣列裡的每一項,然後返回乙個新陣列

var messages = students.

map(

(student)

=>

'hello '

+ student[

'name'])

.tolist()

;print

(messages)

;// [hello tom, hello jack, hello lucy]

contains()

用於判斷陣列是否包含某個元素

print

(students.

contains(5

));// true

reduce(), fold()

var sum = numbers.

reduce

((curr, next)

=> curr + next)

;print

(sum)

;// 26

var sum2 = numbers.

fold(10

,(curr, next)

=> curr + next)

;print

(sum2)

;// 36

every()

用於判斷陣列中的每一項是否均達到了某個條件

var isageover20 = students.

every

((student)

=> student[

"age"

]>20)

;print

(isageover20)

;// false

var isageover15 = students.

every

((student)

=> student[

"age"

]>15)

;print

(isageover15)

;// true

where(), firstwhere(), singlewhere()

var ageover16 = students.

where

((student)

=> student[

"age"

]>16)

;print

(ageover16.

tolist()

);// [, ]

var agefirstover16 = students.

firstwhere

((student)

=> student[

"age"

]>

16, orelse:()

=> null)

;print

(agefirstover16)

;//

var ageunder20 = students.

singlewhere

((student)

=> student[

"age"

]<

16, orelse:()

=> null)

;print

(ageunder20)

;// null

take(), skip()

list arr =[1

,3,5

,2,7

,9];

print

(arr.

take(3

).tolist()

);// [1, 3, 5]

print

(arr.

skip(4

).tolist()

);// [7, 9]

print

(arr.

take(3

).skip(2

).take(1

).tolist()

);// [5]

list.from()

轉殖乙個陣列

list arr =[1

,3,5

,2,7

,9];

var clonedarr = list.

from

(arr)

;print

(clonedarr)

;// [1, 3, 5, 2, 7, 9]

expand()

var arr1 =[[

2,5]

,[7]

,[11,

12]];

var flattened = arr1.

expand

((item)

=> item)

.tolist()

;print

(flattened)

;// [2, 5, 7, 11, 12]

var arr2 =[2

,5,8

];var computed = arr2.

expand

((item)

=>

[item *8]

).tolist()

;print

(computed)

;// [16, 40, 64]

// 當對每一項進行計算時類似於 map()

var computed2 = arr2.

map(

(item)

=> item *8)

.tolist()

;print

(computed2)

;// [16, 40, 64]

add(), addall()

>var arr1 =[1

,3,5

,9,2

,1];

arr1.

add(10)

;print

(arr1)

;// [1, 3, 5, 9, 2, 1, 10]

arr1.

addall([

15,21]

);print

(arr1)

;// [1, 3, 5, 9, 2, 1, 10, 15, 21]

常用的陣列操作方法

陣列新增 push 後面新增 unshift 前面新增 let arr 1 2 3 console.log arr.push 0 4 新增後的陣列長度 5 console.log arr 1 2 3 0,4 let arr 1 2 3 console.log arr.unshift 0 4 新增後的...

常用陣列的操作方法

tostring 把陣列轉換成乙個字串 var arr 1,2,3,4 console.log arr.tostring 1,2,3,4 join 把陣列轉換成乙個用符號連線的字串 var arr 1,2,3,4 console.log arr.join 1 2 3 4 concat 將兩個陣列合併...

Java中常用的時間操作方法

param 要轉換的毫秒數 return 該毫秒數轉換為 days hours minutes seconds 後的格式 author fy.zhang public static string formatduring long mss param begin 時間段的開始 param end 時...