作者 三也視界
這位博主寫的很詳細到位,留下傳送門,感謝
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 時...