目次
1.map( ) メソッド
2.forEach() メソッド
3.filter () メソッド
4.some() メソッド
arr.every(function(value,index,arr){})
arr.some(function(value,index,arr){})
arr.filter(function(value,index,arr){})
arr.map(function(value,index,arr){})
arr.forEach(function(value,index,arr){})
ホームページ ウェブフロントエンド jsチュートリアル JavaScript でよく使用される 7 つの配列の反復処理方法のまとめ

JavaScript でよく使用される 7 つの配列の反復処理方法のまとめ

Aug 04, 2022 am 11:28 AM
javascript

この記事では、javascript に関する関連知識を提供します。主に、JavaScript で一般的に使用される配列の 7 つの反復処理方法に関する関連問題を紹介します。一緒に見てみましょう。お役に立てば幸いです。みんな助かります。

JavaScript でよく使用される 7 つの配列の反復処理方法のまとめ

[関連する推奨事項: JavaScript ビデオ チュートリアル Web フロントエンド ]

1.map( ) メソッド

1.1 アプリケーション シナリオ: 特定のルールを使用して新しい配列をマップします (配列内の各要素を走査し、各要素に対応する処理を実行し、新しい配列を返します)

例:配列の各要素を 1

 let arr = [10, 20, 30, 40, 50]
 //item数组每一项的值,index数组的下标
 let newArr = arr.map((item, index) => {
      return item + 1
    })
    console.log(newArr)//[11, 21, 31, 41, 51]
ログイン後にコピー

1.2 に変更します。 注:

(1). コールバック関数の実行回数は、配列の長さになります

(2).map 関数 返される新しい配列の長さは、元の配列

(3) の長さと同じです。コールバック関数で返す必要があります。返されるのは、現在の配列の値です走査された要素。返さない場合、新しい配列の各要素は未定義になります

2.forEach() メソッド

2.1 アプリケーション シナリオ: 配列を走査するために使用され、別の方法と同等です。 for ループの記述

#
 let arr = [10, 20, 30, 40, 50]
    arr.forEach((item, index) => {
      console.log(`下标为${index}的元素是${item}`)
    })
 //控制台打印结果
 //下标为0的元素是10
 //下标为1的元素是20
 //下标为2的元素是30
 //下标为3的元素是40
 //下标为4的元素是50
ログイン後にコピー

2.2 注:

(1). コールバック関数の実行数は、配列の長さと同じです

(2) . forEach 関数には戻り値がありません

(3). コールバック関数は返す必要はありません。手動で返したとしても、ループは終了しません

3.filter () メソッド

3.1 アプリケーション シナリオ: 条件を満たす配列内の要素をフィルターし、フィルターされた新しい配列を返すために使用されます

例: find 配列内の偶数を取得します

 let arr = [1, 2, 3, 4, 5, 6, 7, 8]
 let newArr = arr.filter((item, index) => {
 	//return一个布尔值
      return item % 2 == 0
    })
    console.log(newArr)//[2,4,6,8]
ログイン後にコピー

3.2 注:

(1)。コールバック関数の実行数は、配列の長さと同じです。

(2)。フィルタ関数 長さが元の配列

(3) の長さと等しくありません。コールバック関数はブール値を返す必要があります。戻り値が true の場合、現在トラバースされている要素が新しい配列に追加されます戻り値が false の場合、新しい array

4.some() メソッド

4.1 アプリケーション シナリオ: を満たす要素があるかどうかを判断するために使用されます。配列内の条件

例: 配列内に 100 より大きい数値があるかどうかを判断します (存在する場合、戻り値は true、存在しない場合、戻り値は false)

let arr = [10, 50, 150, 200, 60, 30]
let bol = arr.some((item, index) => {
      return item > 100
    })
    console.log(bol)//true
ログイン後にコピー

4.2 注:

(1). コールバック関数の実行回数が配列長と等しくない

(2). 一部の関数の戻り値関数はブール値です

(3)。コールバック関数はブール型の値を返してトラバーサルを終了します。戻り値が true の場合、トラバーサルは終了し、関数の戻り値が false の場合。戻り値が false、トラバーサルが続行、および一部の関数の戻り値が false

#5.every() メソッド

5.1 アプリケーション シナリオ: 配列内のすべての要素が存在するかどうかを判断するために使用されます。条件を満たしている (アイデアの切り替え) some() メソッドと同様の機能があり、比較して理解することができます

例: 配列内のすべての要素が 100 より大きいかどうかを判断します (両方とも 100 より大きい) 1 つの要素が 100 未満である限り、戻り値は true、戻り値は false)

let arr = [10, 50, 150, 200, 60, 30]
let bol = arr.every((item, index) => {
      return item > 100
    })
    console.log(bol)//false
ログイン後にコピー
5.2 注:

(1). コールバックの実行数関数は配列の長さと等しくありません

(2)。すべての関数の戻り値はブール値

(3) です。コールバック関数はブール型の値を返して終了しますトラバーサル。戻り値が true の場合、トラバーサルは続行され、すべての関数の戻り値が true になります。戻り値が false の場合、引き続き終了し、すべての関数の戻り値が false

6.findIndex() メソッド

6.1 アプリケーション シナリオ: オブジェクト型の配列内の要素に適しており、従来の for ループよりも効率的です

6.2 関数: 位置を取得します (添え字) ) 条件を満たす最初の要素の

let arr = [
            { name: '张三', age: 20 },
            { name: '李四', age: 30 },
            { name: '王五', age: 25 },
            { name: '赵六', age: 33 },
            { name: '小七', age: 10 },
        ];
 let i=arr.findIndex((item,index)=>{
	return item.age>30
})
//打印的i为符合条件的第一个元素下标
console.log(i)//3
ログイン後にコピー
6.2 注:

(1). return の値が true の場合、トラバーサルは終了し、findIndex メソッドの戻り値は次のようになります。現在のインデックス値; return の値が false の場合、走査は続行されます。配列全体が走査された場合、それでも true が返されない場合、findIndex メソッドの戻り値は -1

7 です。 reduce() メソッド

7.1 アプリケーション シナリオ: 配列の合計/平均/最大値/最小値

7.2 関数: 配列要素を走査し、各要素に対してコールバック関数を実行します。

//数组求和
let arr = [10, 20, 30, 40]
//sum:初始值,默认为数组的第一个元素
//item:数组的每一个元素,默认为数组的第二个元素
let getSum = arr.reduce((sum, item) => {
 //这里必须要return,相当于把本次计算得结果赋值给下一次得sum : sum = sum + item;
      return sum + item
    })
    console.log(getSum)//100
ログイン後にコピー
7.2 注:

(1). 空の配列エラーを避けるために、初期値を与えることが最善です.

//数组求和
let arr = [10, 20, 30, 40]
//加了初始值0之后,此时sum开始默认为0,item则默认为数组的第一个元素
let getSum = arr.reduce((sum, item) => {
 //这里必须要return,相当于把本次计算得结果赋值给下一次得sum : sum = sum + item;
      return sum + item
    },0)
    console.log(getSum)//100

//数组求最大值
 let max = arr.reduce((sum, item) => {
      return Math.max(sum, item)
    }, 0)
    console.log(max)//40
ログイン後にコピー
ここでの特別な注意は、各ラウンドの合計値が戻り値であることです。前回のラウンドの

8.概要

JavaScript でよく使用される 7 つの配列の反復処理方法のまとめ

拡張例:

arr.

reduce(function(sum ,value,index,arr){}) method

reduce() メソッドは関数をアキュムレータとして受け取ります。配列内の各値は (左から右に) 減少し始め、最終的に 1 つの値にカウントされます。

reduce() は、関数を構成するための高階関数として使用できます。

注:reduce() は空の配列に対してコールバック関数を実行しません。

参数 详情
sum第一个参数 第一次为数组的第一个数组元素的值(下标为0),依次往后是返回计算结果的值
value 第二个参数 开始为数组元素第二个的值(下标为1),依次往后循环
index第三个参数 依次为数组元素的下标
arr第四个参数 为数组的整体
initialValue 为第一参数的默认值,设置的话,第一个参数的默认值为initialValue的值,则 第二个参数则将使用数组第一个元素(下标为0 ),没有设置的话,第一个参数将使用数组第一个元素,而 第二个参数 将使用数组第二个元素。
function sum(arr){
    return arr.reduce(function(sum,value,index,arr){
    	console.log(sum);
        console.log(value);
        console.log(index);
        console.log("~~")
        console.log(arr)
        return sum+y    },initialValue)}console.log(sum([1,2,3,4,5]))
ログイン後にコピー

arr.every(function(value,index,arr){})

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
ログイン後にコピー
参数 详情
value 数组元素
index 数组下标
arr 当前数组的整体
function sum(arr){
    return arr.every(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))
ログイン後にコピー

arr.some(function(value,index,arr){})

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
ログイン後にコピー
参数 详情
value 数组元素
index 数组下标
arr 当前数组的整体
function sum(arr){
    return arr.some(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))
ログイン後にコピー

arr.filter(function(value,index,arr){})

filter()方法过滤查找全部,对数组元素进行判断,满足条件的会组成一个新的数组返回
注意:如果都不符合条件,会得到一个空数组
注意:如果所有元素都符合条件,会得到一个包含所有元素的新数组它与原数组进行===或==比较会得到false
ログイン後にコピー
参数 详情
value 数组元素
index 数组下标
arr 当前数组的整体
function sum(arr){
    return arr.filter(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=5
    })}console.log(sum([1,2,3,4,5]))
ログイン後にコピー

arr.map(function(value,index,arr){})

map对数组元素进行循环,有返回值,返回值会组成一个新的数组
注意:map可以处理一对一的元素映射
ログイン後にコピー
参数 详情
value 数组元素
index 数组下标
arr 当前数组的整体
const source = [1,2,3,4]const target = source.map(n=>({id:n,label:`label${n}`}))console.log(target)
ログイン後にコピー
function sum(arr){
    return arr.map(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))
ログイン後にコピー

arr.forEach(function(value,index,arr){})

forEach()方法对数组元素进行循环,没有返回值和for循环的功能一样,但是不能使用break和countinue
注意:map和forEach的区别:map有返回值,forEach没有返回值
ログイン後にコピー
参数 详情
value 数组元素
index 数组下标
arr 当前数组的整体
function sum(arr){
    return arr.forEach(function(value,index,arr){
        console.log(value);
        console.log(index);
        console.log("~~")
        return value>=1
    })}console.log(sum([1,2,3,4,5]))
ログイン後にコピー

【相关推荐:javascript视频教程web前端

以上がJavaScript でよく使用される 7 つの配列の反復処理方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 Dec 17, 2023 am 08:41 AM

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。

See all articles