Dart高效之操作集合

Dart 操作集合

final list = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];

forEach

迭代集合的每一個元素

  • demo
list.forEach((String it){
  print(it);
});
// 等效于
for (var it in list) {
  print(it);
}
  • 輸出結果
flutter: 1
flutter: 2
flutter: 3
flutter: 4
flutter: 5
flutter: 6
flutter: 7
flutter: 8
flutter: 9
flutter: 0

where

返回一個新的滿足條件的集合, 并且與原集合順序保持一致.

  • demo
list.where((String it) {
  return int.parse(it) % 2 == 0;
}).forEach((String it) {
  print(it);
});
  • 輸出結果
flutter: 2
flutter: 4
flutter: 6
flutter: 8
flutter: 0
  • 優(yōu)化where((it) {}、forEach((it) {}為函數(shù)式, 直接使用鏈式調(diào)用的方式:
// 輸出結果同上
list.where((it) => int.parse(it) % 2 == 0).forEach(print);
  • 或者使用自定義的方法:
list.where((it) => int.parse(it) % 2 == 0).forEach(customPrint);

void customPrint(String it) {
    it += ' - ';
    print(it);
}
  • 輸出結果
flutter: 2 -
flutter: 4 -
flutter: 6 -
flutter: 8 -
flutter: 0 -

whereType

獲取指定類型的集合

var list = [1, "a", 2, "b", 3];
var ints = list.whereType<int>();
  • ints
flutter: 1
flutter: 2
flutter: 3

skip

跳過, 會從指定index開始.

  • demo
list.skip(3).forEach(print);
  • 輸出
flutter: 4
flutter: 5
flutter: 6
flutter: 7
flutter: 8
flutter: 9
flutter: 0

take

會獲取接下來的N個值

  • demo
// 跳過前三個, 接下來只取3個值
list.skip(3).take(3).forEach(print);
  • 輸出
flutter: 4
flutter: 5
flutter: 6

TODO

其他方法:

  • fold
  • join
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,872評論 0 10
  • 溪水急著要流向海洋,浪潮卻渴望重回土地。在綠樹白花的籬前,曾那樣輕易地揮手道別。而滄桑了二十年後,我們的魂魄卻夜夜...
    熙桉閱讀 371評論 0 6
  • 本篇講如何在Xcode中進行單元測試 在測試中應當知道的 通常,測試應當包含: 核心功能:模型類和方法,以及它們和...
    格格格雷爾閱讀 797評論 0 1
  • 從小到大都在想一個問題,如果我不是我,也許就不會這么難過了。眼里的別人好像活的很輕松,不像我從小就是一個心思沉重的...
    shinysoso閱讀 294評論 0 2
  • 在package.json文件 添加jQuery依賴 2、在webpack.base.conf.js中module...
    吖蛋黃閱讀 2,048評論 0 0

友情鏈接更多精彩內(nèi)容