JavaScript 配列の一般的な API メソッドとトラバーサル メソッドの概要 (例付き)

不言
リリース: 2019-04-11 10:36:00
転載
2155 人が閲覧しました

この記事では、JavaScript 配列の一般的な API メソッドとトラバーサル メソッドの概要を (例とともに) 紹介します。これには一定の参考価値があります。必要な友人は参照できます。お役に立てば幸いです。

Array(配列)

ES5 *

map

構文: [].map(function(item,index,array) {return xxx} )
関数: 配列を走査し、コールバック戻り値で構成される新しい配列を返します。元の配列は変更されず、空の配列は検出されません。

forEach

構文: [].forEach( function(item, Index, array) {})
関数: ブレークできません。元の配列を変更せずに停止するには、try/catch で throw new Error を使用できます

filter

構文: [].filter(function(item,index,array) {})
関数:filter、フィルターされた配列を返します。元の配列は変更せず、空の配列は検出しません配列

例:

const data = [-8, 9, 5, 3];
const res = data.filter(function(item) {
    if (item > 3) {
      return item
    }
});
console.log(res); // [9, 5]
ログイン後にコピー

some

文法: [].some(function(item,index,array) {})
関数: 1 つの項目が true を返した場合、全体が true になります。元の配列は変更されません

every

構文: [].every(function( item、index、array) {})
関数: true を返すには、すべての条件が満たされる必要があります。1 つの項目が false を返した場合、全体が false になります。元の配列は変更されません

join

構文: [].join(str)
関数: コネクタ str を指定して、文字列に連結された配列を返します。元の配列を変更します

push / Pop

構文:

[].push(item) / [].pop(item)関数:配列の末尾でpushプッシュとpopポップを実行し、変更された配列の長さ/ポップアップ項目を返します。
元の配列を変更します

unshift/shift

構文:

[].unshift(item) / [].shift(item) 機能: unshift をプッシュして配列の先頭にポップアップ shift し、変更された配列の長さを返します/ポップアウト項目、
元の配列を変更します

sort(fn) / reverse

構文 :

[].sort(fn) [].reverse( )関数: ルールに従って並べ替えおよび反転、
元の配列を変更

splice

構文:

[].splice(start 、number、value1、value2...)関数:
start から始まる、削除された要素で構成される配列を返します。 number の値を削除し、## を挿入します。 #valueN パラメータ リストを配列に追加します。元の配列を変更しますconcat

構文:

[].concat([])

関数: n (n >= 2) 個の配列を接続し、配列接続後に配列のコピーを返します。浅いコピーです。元の配列は変更しません
slice

構文:

[].slice(start, end)

関数: 切り詰められた新しい配列を返します。元の配列は変更しません
#indexOf / lastIndexOf(value, fromIndex)

構文:

[].indexOf(value[, fromIndex])

関数: 配列項目の検索 indexOf starting
fromIndex
(デフォルトは 0) から後方検索
valuelastIndexOf は fromIndex から開始 (デフォルトは -1) 前方検索
value値に対応する添字を返しますreduce /reduceRight

構文:

reduce /reduceRight(callback[,initialValue])

関数: で実行します。ペア、prev は最後の簡略化された関数の戻り値、cur は現在の値 (2 番目の項目から開始) コールバック関数のパラメーター: 以前の値 (previousValue)、現在の値 ( currentValue)、インデックス値 ( currentIndex) と配列自体 (array)initialValue オプションの初期値 (コールバック関数が最初に呼び出されたときにpreviousValue に渡される値として)。つまり、累算などの操作の開始値 (追加ボーナス) を渡します。

reduceRight は配列の末尾から開始します。

isArray *

構文:

Array.isArray(value)

関数: パラメータ値が Array かどうかを判断するために使用されますES6

find *

ind(fn)`

関数: 条件を満たす最初の配列要素を返します

item


findIndex *

構文:

[].findIndex(fn)

関数: 条件を満たす最初の配列要素の インデックスを返します
from *

構文:

[].fill(value[, start, end])

関数: 配列のようなオブジェクトとトラバース可能な (反復可能) オブジェクトを実際の配列に変換します
一般的に使用される: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">const set = new Set(3, 8, 9, 0) Array.from(set)</pre><div class="contentsignin">ログイン後にコピー</div></div>entries *

構文:

[].entries()

関数: 反復子を返す: キーと値のペアを返す[注意]
Object.entries(obj)

このメソッドは、指定されたオブジェクト自身の列挙可能なプロパティのキーと値のペアの配列を返します。この配列は、for...in ループを使用してオブジェクトを走査するときに返される順序と同じ順序で配置されます (違いは、for-in ループであることです)また、プロトタイプ チェーンの属性も列挙します) [MDN]

および [].entries() は、

//数组
const arr = ['a', 'b', 'c'];
for(let v of arr.entries()) {
    console.log(v)
}
// [0, 'a'] [1, 'b'] [2, 'c']

//Set
const arr1 = new Set(['a', 'b', 'c']);
for(let v of arr1.entries()) {
    console.log(v)
}
// ['a', 'a'] ['b', 'b'] ['c', 'c']

//Map
const arr2 = new Map();
arr2.set('a', 'a');
arr2.set('b', 'b');
for(let v of arr2.entries()) {
    console.log(v)
}
// ['a', 'a'] ['b', 'b']
ログイン後にコピー
## と同様の Array.prototype keys/values のメソッドです#keys *
構文: [].keys()

#関数: 戻り反復子: 戻りキー key (つまり、上記の各配列の最初の値)

# #values

構文: [].values()

関数: 戻り反復子: 戻り値 value (つまり、上記の各配列の 2 番目の値)

includes *

语法:[].includes(val[, fromIndex])
功能:用于从fromIndex判断数组中是否包含val,可替代ES5中的 indexOf

copyWithin

语法:[].copyWithin(target[, start[, end]])
功能:浅复制数组的一部分(start~end)到同一数组中的另目标位置target,返回改变后的数组,而不修改其大小;start默认为0, end默认为length-1; 改变原数组

of

语法:Array.of()
功能:创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型

Array构造函数 & Array.of() 区别
实例说明

Array.of(7);       // [7] 
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // [ , , , , , , ]
Array(1, 2, 3);    // [1, 2, 3]
ログイン後にコピー

fill

语法:[].fill(value[, start, end])
功能:用指定的元素填充数组,可用于初始化数组,返回改变后的数组,改变原数组
填充值(value),填充起始位置(start,默认为0),填充结束位置(end,默认为数组length)。

遍历

数组

map/forEach/some/every/filter 见上

for

for...in

遍历所有可枚举属性,常用于遍历对象Object

for...of

遍历所有可迭代iterable的对象

对象【属性】

for...in

循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)【可枚举 - Symbol】

Object.keys(obj)

返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)【自身可枚举 - Symbol】

Object.getOwnPropertyNames(obj)

返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)【自身 - Symbol】

Object.getOwnPropertySymbols(obj)

返回一个数组,包含对象自身的所有Symbol属性【自身的Symbol】

Reflect.ownKeys(obj)

返回一个数组,包含对象自身的所有属性,不管是属性名是Symbol或字符串,也不管是否可枚举  【自身所有】

【相关推荐:JavaScript视频教程

以上がJavaScript 配列の一般的な API メソッドとトラバーサル メソッドの概要 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート