1. 程式人生 > >js陣列的迭代器方法(some、every、forEach、map、filter)

js陣列的迭代器方法(some、every、forEach、map、filter)

//陣列操作之迭代器方法(這些方法可以對陣列中的每一個元素運用某個方法)
//一、不生成新陣列的迭代器方法
    //1、forEach方法(接收一個函式作為引數)
    function square(num){
        alert(num * num) ;
    }
    var nums = [1,2,3,4,5];
    console.log(nums.forEach(square));

    //2、every方法(接收一個返回值為布林值的函式,對陣列中的每一個元素使用該函式)
    function isEven (num) {
        return num % 2
==0; } var evens=[2,4,6,8,10]; var isAllEven = evens.every(isEven); //當且僅當陣列中的所有的元素返回為真,every函式才會返回為真 if(isAllEven){ alert("all is even"); }else{ alert("not all is even"); } //3、some方法(只要陣列中有一個元素使用方法返回為真,some函式就會返回真) var nums = [1,2,3,5,7,9]; function
isEven (num) {
return num % 2==0; } alert(nums.some(isEven)); //true //4.reduce方法 //用法一:為陣列中的元素求和 function add (currentTotal,currentValue) { //alert(currentValue); //alert(currentTotal); return currentTotal+currentValue; } var
nums = [1,2,3,4,5,6,7]; alert(nums.reduce(add)); //用法二:將陣列中的元素連線成一個長的字串 function linkStr (foreStr,currentStr) { return foreStr + currentStr; } var strings = ["nolan","is","studying","javascript"]; alert(strings.reduce(linkStr)); //二、生成新陣列的迭代器方法 //1.map方法(類似於不生成新陣列中的forEach方法) //用法一:取陣列中每個單詞的第一個字母 function firstAlpha (word) { return word[0].toUpperCase(); } var words = ["nolan","is","studying","javascript"]; var firstAlphas = words.map(firstAlpha); alert(firstAlphas.join("")); //使用join可以去掉連線陣列元素的逗號 //2.filter方法(類似於every方法) //用法一:篩選出符合條件(即返回值為true)的元素 function isEven (num) { return num % 2==0; } var nums=[1,2,4,6,8,10]; var evens = nums.filter(isEven); alert(evens); //案例:隨機生成一些成績,挑選出大於六十分的成績 function pass (grade) { if(grade>60){ return true; }else{ return false; } } var grades = []; for(var i=0;i<20;i++){ grades[i]=Math.floor(Math.random()*101); } alert(grades); var passedGrades=grades.filter(pass); alert(passedGrades);

相關推薦

js陣列方法someeveryforEachmapfilter)

//陣列操作之迭代器方法(這些方法可以對陣列中的每一個元素運用某個方法) //一、不生成新陣列的迭代器方法 //1、forEach方法(接收一個函式作為引數) function square(num){ alert(num * n

js數組的叠方法someeveryforEachmapfilter)

reac floor all com mat pan scrip links 第一個 數組操作之叠代器方法(這些方法可以對數組中的每一個元素運用某個方法) 一、不生成新數組的叠代器方法 1、forEach方法(接收一個函數作為參數) function square(n

陣列的使用2) ---方法

迭代器方法:指對陣列中的每個元素都應用一個函式,可以返回一個值、一組值、或者一個新陣列。 不生成新陣列的迭代器方法 ① forEach() 接收一個函式作為引數,對於陣列中的每個元素都使用該函式 var num = [1,2,3,4,5,6,7]

python3:深刻理解__iter__和__next__ 的原理用自定義方法進行講解)

1.iter 的用法 咱都知道, list ,tuple,dict 都是可迭代物件,如果想讓他們轉化成迭代器. 我們可以這麼做,呼叫 inter()方法,它會返回一個迭代器. 例如: from collections import Iterable,Iterator a=[1,

js 陣列方法,歸併方法

1.js 提供了一些迭代的方法,包括every,some,filter,map,forEach. every():對陣列中的每一項執行給定函式,如果該函式對每一項都返回true,則返回true。 filter():對陣列中的每一項執行給定函式,返回該函式會

js陣列方法

1.every():對陣列中的每一項執行給定函式,如果該函式對每一項都返回true,則最終結果返回true; 2.some():對陣列中的每一項執行給定函式,如果該函式對任一項都返回true,則最終結果返回true; 3.filter():對陣列中的每一項執行給定函式

支援IE8及以下的,原生JS陣列的五種方法

           IE真是讓前端開發者頭疼的問題,在解決陣列的迭代的過程中,IE8及以下並不能很好的支援。於是去網上搜了搜陣列迭代中的every方法,在一個部落格大V中搬過來後,發現仍會報錯,又比

<C++學習十三>C++介紹未完待續)

摘要: 本篇部落格僅作為筆記,如有侵權,請聯絡,立即刪除(網上找部落格學習,然後手記筆記,因紙質筆記不便儲存,所以儲存到網路筆記)   迭代器簡介:   (1)迭代器類似於指標型別,它也提供了對物件的間接訪問。   (2)指標是C語言中就有的東西,迭代器是C++中才有的,指標用起來靈活高效,迭代器功能更

重走Java設計模式——模式Iterator Pattern)

迭代器模式 定義 提供一種方法順序訪問一個聚合物件中各個元素, 而又無須暴露該物件的內部表示。 模式結構 1.抽象容器:一般是一個介面,提供一個iterator()方法,例如java中的Collection介面,List介面,Set介面等。 2.具體

SGISTL原始碼閱讀六 traits程式設計技法)

SGISTL原始碼閱讀六 迭代器下(traits程式設計技法) 前言 上一篇部落格我們瞭解了迭代器的相應型別,簡單的引數推導機制可以實現針對不同的型別進行不同的操作,但是這並不能解決所有的情況。本文章將要介紹_STL原始碼門鑰_——traits程式設計技法。 凡是原生指標,都沒有

SGISTL原始碼閱讀五 的五種相應型別associated types)

SGISTL原始碼閱讀五 迭代器上(迭代器的五種相應型別associated types) 前言 之前在對STL的簡介中說到過,迭代器的作用是將資料結構(容器)和演算法粘合在一起,我們可以將它理解成smart pointer,它是一種行為類似指標的物件。 什麼是相應型別? 最

python 學習彙總25:iter tcy)

迭代器 2018/6/12  目錄: iter 1.iter 2.iter-型別判斷 3.iter-解包 itertools工具 1.itertools函式簡表 見本人相關博文 2.itertools函式詳細說明 見本人相關博文 3

五)設計模式之模式Iterator)

前言: 參考圖書:軟體設計模式與體系結構 參考部落格:https://www.cnblogs.com/wanson/articles/9277813.html   正題:         迭代器(iterator)有時又稱遊標

23種設計模式之二十三)模式python_c++實現) .md

23種設計模式之(二十三)迭代器模式(Iterator) 本文主要介紹23種設計模式之迭代器模式,附詳細python/c++示例程式碼。 概念 應用場景 注意事項 程式碼示例 總結 程式碼連結 迭代器模式(Iterator) 概念 迭代模式,是行為模式之一

模式java版)

迭代器模式的組成部分 Aggregate(抽象聚合類) 它用於儲存和管理元素物件,宣告一個createiterator()方法用於建立一個迭代器物件,充當抽象迭代器工廠角色。   ConcreteAggregate(具體聚合類) 它用於抽象聚合類的子類,實現了在抽象集合類中的宣告的crea

foreach遍歷實現原理_實現使用foreach

遍歷陣列或者集合時,之所以使用foreach可以實現,那是因為類中繼承了IEnunerable介面,此介面可以重寫IEnumerator型別的GetEnumerator()方法(此方法即得到一個列舉器),正是因為這個介面(方法)所以foreach才會起到遍歷的作用 上程式碼: namespace

iterator || beginend)返回值型別

迭代器是廣義上的指標,事實上,它可以是指標,也可以是一個對其執行類似指標的操作——如解除引用(如operator*())和遞增(如operator++()) ——的物件。 通過將指標廣義化為迭代器,讓STL能夠為各種不同的容器類(包括哪些簡單指標無法處理的類)提供統一的介面。每個容器類

我所理解的設計模式C++實現)——模式Iterator Pattern)

概述:         在現在的電視機中,我們使用[後一個]和[前一個]按鈕可以很方便的換臺,當按下[後一個]按鈕時,將切換到下一個預置的頻道。想象一下在陌生的城市中的旅店中看電視。當改變頻道時,重要的不是幾頻道,而是節目內容。如果對一個頻道的節目不感興趣,那麼可以換下一個頻道,而不需要知道它是幾頻道。  

C++標準模板庫---介紹iteratorconst_iterator)

迭代器 概念:C++的一種機制,用來遍歷標準模板庫容器中的元素,是一種"智慧"指標 一、迭代器的特點 迭代器是一種智慧指標,具有遍歷複雜資料結構的能力 不同的容器有不一樣的內部結構,因此會有一樣的迭代器型別 迭代器定義後,並不屬於某一例項容器物件,只要是屬於該迭代器

設計模式之模式Iterator Pattern)

這篇部落格,我們要詳細講解的是迭代器模式(Iterator Pattern),將要講解的內容有:迭代器模式 的定義,作用,詳細設計分析等方面。 一、Pattern name 迭代器模式(Iterator Pattern) : 提供一種方法