1. 程式人生 > >迭代方法替代for迴圈

迭代方法替代for迴圈

一、Map
對陣列中的每一項運動給定函式,返回每次函式呼叫的結果組成陣列。

let arr=[1,2,3,4,5,6];
/*item為當前遍歷到的項,和arr[i]一樣*/
arr=arr.map(item=>{return item*2});
//[2,4,6,8,10]

二、filter
對陣列中的每一項運動給定函式,返回函式會返回true的項組成的陣列—-過濾。

let arr=[1,2,3,2,1];
let newArr = arr.filter((item,index,self)=>{
    return self.indexOf(item)==index;
})
; //這裡的self指的是陣列本身 console.log(newArr);//[1,2,3]

三、Every和Some
every:給陣列的每一項執行給定函式,如果該函式對每一項都返回true,則返回true

Some:給陣列的每一項執行給定函式,如果該函式對其中任意一項返回true,則返回true

var arr = [1,2,3,-3];
var bool = arr.every(item => {return item > 0});
console.log(bool);//false當有一個小於0的時候,返回false

var bool2 = arr.Some(item =>
{return item < 0}); console.log(bool2);//true當有一個小於0的時候,返回true

四、Reduce
Reduce()每次只能接受兩個引數,比如,數字陣列求和,字串陣列連線上

let arr=[1,2,3,4];
let sum=arr.reduce((a,b)=>{return a+b});
console.log(sum);//10

五、find和findIndex
find:返回符合條件的陣列第一個元素
findIndex:返回符合條件的陣列第一個元素的下標

let arr=[11,22,33,44,55];
let first = arr.find(function
(val){
return val>30} console.log(first);//33 let arr=[11,22,33,44,55]; let first = arr.findIndex(function(val){return val>30} console.log(first);//2

相關推薦

方法替代for迴圈

一、Map 對陣列中的每一項運動給定函式,返回每次函式呼叫的結果組成陣列。 let arr=[1,2,3,4,5,6]; /*item為當前遍歷到的項,和arr[i]一樣*/ arr=arr.map(item=>{return item*2}); /

python器和for迴圈原理

我們已經知道,可以直接作用於for迴圈的資料型別有以下幾種: 一類是集合資料型別,如list、tuple、dict、set、str等; 一類是generator,包括生成器和帶yield的generator function。 這些可以直接作用於for迴圈的物件統稱為可迭代物件:Iter

集合 ArrayList 集合的繼承實現關係 Collection Iterator器 增強for迴圈 泛型 集合的向下轉型

1.集合介紹    集合,集合是java中提供的一種容器,可以用來儲存多個數據。    我們知道資料多了,可以使用陣列存放或者使用ArrayList集合進行存放資料。那麼,集合和陣列既然都是容器,它們有啥區別呢? 陣列的長度是固定的。集合的長度是可變的。 集合中儲存的元素必須

器和for迴圈的效率比較

實體Person類 package com.zhang.loop;public class Person {  private String a;  private int b;  public Person(String a, int b) {   super();  

器和 for-of 迴圈

1.、for迴圈(支援break;continue;return等) for (var index = 0; index < myArray.length; index++) { console.log(myArray[index]); } 2、forEach(不支援break;

ES(五)器和for-of迴圈

一 Iterator(遍歷器)的概念 (1)Iterator的作用有三個: 一是為各種資料結構,提供一個統一的、簡單的訪問介面;二是使得資料結構的成員能夠按照某種次序排列三是ES6創造了一種新的遍歷命

實戰c++中的vector系列--vector的遍歷(stl演算法、vector器(不要在迴圈中判斷不等於end())、operator[])【轉】

(轉自:https://blog.csdn.net/wangshubo1989/article/details/50374914?utm_source=blogxgwz29) 遍歷一個vector容器有很多種方法,使用起來也是仁者見仁。 通過索引遍歷: for (i = 0; i<

深入瞭解機器學習之降低損失:方法

迭代學習可能會讓您想到“Hot and Cold”這種尋找隱藏物品(如頂針)的兒童遊戲。在我們的遊戲中,“隱藏的物品”就是最佳模型。剛開始,您會胡亂猜測(“w1 的值為 0。”),等待系統告訴您損失是多少。然後,您再嘗試另一種猜測(“ 的值為 0.5。”),看看損失是多少。哎呀,這次更接

JavaScript陣列的方法

JavaScript陣列的迭代方法 every():對陣列中的每一項執行給定函式,如果該函式對每一項都返回 true,則返回 true some():對陣列中的每一項執行給定函式,如果該函式對任一項返回 true,則返回 true filter():對陣列中的每一項執

Apache的commons之函式式器(Map,過濾,迴圈)(四)

遍歷map 的幾種方式 IterableMap<String, String> map = new HashedMap<>(); map.put("zs", "123"); map.put("ls", "456");

js陣列中的方法

ECMAScript5 為陣列定義5個迭代方法。每個方法都接收兩個引數:要在每一項上執行的函式和執行改函式的作用域物件-影響this的值。傳入這些方法中的函式會接收三個引數:陣列項的值(item)、該項在陣列中的位置(index)和陣列物件本身(array)。 以下方法都不會修改陣列中包含

Javascript陣列系列二之方法2

今天我們來繼續 Javascript 陣列系列的文章,上文 《Javascript陣列系列二之迭代方法1》 我們說到一些陣列的迭代方法,我們在開發專案實戰的過程中熟練的使用可以大大提高我們的開發效率以及資料的處理。接下來我們繼續來講解其他的一些迭代的方法。 天也黑了,時間也不早了,話不多說,擼起袖子幹起來!

js中的5個方法

1.every()方法: 例項: var a=[1,2,3,4,5,4,3,2,1]; var result=a.every(function(item,index,array){ return (item>2) } console.log(r

陣列的方法

ES5中為陣列定義了5個迭代方法 (1)event() 對陣列中的每一項執行一個給定函式,如果函式中每一項都返回true則返回true (2)some() 對陣列中每一項執行一個給定的函式,如果函式中任意一項返回true則返回true (3)filter() 對陣列每一項執行一個給定的函式,返回

JavaScript陣列的方法(every、filter、forEach、map和some)

ES5 中為陣列定義了 5 個迭代方法。每個方法都接收兩個引數:要在每一項上執行的函式和(可選的)執行該函式的作用域物件——影響 this 的值。 傳入這些方法中的函式接收三個引數:陣列項的值、該項在陣列中的位置(索引)和陣列物件本身。 這 5 個方法都不會修改原陣列中包含的值。

intellij idea快速生成main方法for迴圈、out輸出

1、System.out.println() 輸入sout,按下enter鍵,生成System.out.println()方法. sout--->soutv=System.out.println("變數名 = " + 變數) soutp--->System.out.printl

HashMap的用法(兩種方法案例)

package TestMap; import java.util.*; /** * Created by Administrator on 2017/5/5. */ public class Testpet { public static void main(

強化學習系列5:有模型的策略方法

1. 策略迭代演算法 這裡策略迭代使用的是表格法,基本步驟是: 用字典儲存每個s的v值 根據v值來選骰子 策略迭代的步驟為: 初始化 V

2017-12-18python全棧9期第三天第二節之str常用操作方法for迴圈格式化輸出三種玩法format

#!/user/bin/python# -*- coding:utf-8 -*-s = '我叫{},今年{},愛好{},再說一下我叫{}'.format('zd',24,'xq','zd')print(s)s = '我叫{0},今年{1},愛好{2},再說一下我叫{0}'.format('zd',24,'xq

關於JS陣列中every與some兩者方法探索

    every()與some()方法都是JS中陣列的迭代方法。every()是對陣列中的每一項執行給定函式,如果該函式對每一項返回true,則返回true。some()是對陣列中每一項執行指定函式