ホームページ > 記事 > ウェブフロントエンド > JavaScript 配列で一般的に使用される API の概要
この記事では、JavaScript 配列でよく使用される API をまとめて紹介します。必要な方は参考にしてください。
split()
: 文字列を配列に分割します (文字列を操作します) split()
:拆分字符串变成数组(对字符串操作)join()
:合并数组变成字符串(对数组操作)concat()
:连接两数组splice(begin,deleteCount,insert)
:拼接splic(begin,end)
:截取[begin,end)
sort(callball(value1,value2))
:排序resever()
:反序filter(callback(currentValue,index))
:筛选map(callback(currentValue,index))
:遍历,有返回值,和forEach
类似forEach(callback(currentValue,index))
:遍历,没有返回值reduce(callback(array,currentValue,index)[,array])
:累计处理arguments
:在函数内部使用,将函数的参数变成伪数组(不能用数组的 api)
sort
排序:如果value1 < value2
返回-1
,升序排列;返回1
,降序排列var arr = [1,5,4,3,2,6,7] arr.sort((value1,value2) => { if(value1 < value2){ return -1 //升序 }else if(value1 > value2){ return 1 //降序 }else{ return 0 } })<h3> <code>filter</code>筛选数组,接受一个回调函数,回调函数的参数<code>value</code>、<code>index</code>(可选)、<code>array</code>(可选)</h3> <pre class="brush:php;toolbar:false">let arr = [1,2,3,4,5,6,7,8,9] arr.filter((value,index) =>{ console.log(index) return value > 5 //筛选条件 })
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']; function find(element){ return fruits.filter((e)=>{ return e.indexOf(element) >= -1 //indexOf查到元素,找到返回元素的索引 }) } find('ap') //['apple','grapes']
map
和forEach
之间的区别是:map
有返回值,forEach
没有返回值;要forEach
能返回值出来,在它内部定义一个变量存储遍历的值就可以了。var a = [1,2,3,4] a.map(e => e*2) //[1,4,6,8] a.forEach(e => e*2) //undefined, return 也不会出来
reduce
接受两个参数,回调函数和回调函数的第一个参数(可选);回调函数接受四个参数:1、回调函数的返回值(处理结果)或者reduce
的第二个参数;2、正在处理的元素;3、正在处理元素的索引;4、调用reduce
的数组。如果reduce
接收第二个参数,那么回调函数的第一个参数就是它(如去重,运行逻辑是把待处理数组的每一项处理后在一个个push
进去,是加的过程);如果没有第二个参数,那么回调函数的第一个参数就是待处理数组的第一项(如摧毁数组,运行逻辑是把待处理数组直接拿过来集中处理,是减的过程)。
//去重:把待处理数组的每一项处理后在一个个`push`进去,是加的过程 var a = [1,2,3,2,4,5,3,1] a.sort().reduce((arr,currentValue) => { if(arr.length === 0 || arr[arr.length-1] !== currentValue){ arr.push(currentValue) } return arr },[]) //[1,2,3,4,5] //摧毁数组:把待处理数组直接拿过来集中处理,是减的过程 function destroyer(arr) { return [].slice.call(arguments).reduce((current,next) =>{ return current.filter((e) => { return e !== next }) }) } destroyer([1, 2, 3, 1, 2, 3], 2, 3); //[1,1]
arguments
join()
: 配列を結合しますstring (配列の操作) concat()
: 2 つの配列を接続します splice(begin,deleteCount,insert)
: スプライス splic(begin,end): <code>[begin,end)
をインターセプトします
sort(callball(value1,value2))
: sortresever()
: 逆順 filter(callback(currentValue,index))
: フィルター map(callback(currentValue,index))
: トラバース、戻り値、および forEach
forEach(callback(currentValue,index))
と同様: トラバーサル、戻り値なし
reduce(callback(array,currentValue,index)[,array])
:累積処理
sort
並べ替え: value1 < value2-1
を返す場合は昇順でソートされ、 1
は降順でソートされます。 >filter フィルター配列。コールバック関数を受け入れます。コールバック関数のパラメーターは、value
、index
(オプション)、array
です。 (オプション)function array(arr){ console.log(arr) //[1,2,3,4,5],注意是一个伪数组,不能用数组的方法 } array(1,2,3,4,5) var args = Array.prototype.slice.call(arguments); var args = [].slice.call(arguments);rrreee
map
と forEach
の違いは次のとおりです: map
には戻り値があり、forEach
> には戻り値がありません。forEach
は値を返すことができ、その中に変数を定義して走査された値を格納するだけです。 🎜rrreeereduce
は、コールバック関数とコールバック関数の最初のパラメーター (オプション) の 2 つのパラメーターを受け取ります。コールバック関数は 4 つのパラメーターを受け取ります。 1. コールバック関数の戻り値 (処理) result ) または reduce
の 2 番目のパラメータ。 2. 処理される要素 3. 処理される要素のインデックス。 4. reduce
を呼び出す配列。 🎜🎜reduce
が 2 番目のパラメーターを受け取った場合、コールバック関数の最初のパラメーターはそれです (重複排除など、実行ロジックでは、処理対象の配列の各項目を 1 つずつ処理します) push
が入ります。これは追加のプロセスです)。2 番目のパラメーターがない場合、コールバック関数の最初のパラメーターが処理される配列の最初の項目になります (配列の破棄など)。 、実行ロジックは、処理対象の配列を直接配置することです。それを引き継いで中央で処理するのが削減のプロセスです)。 🎜rrreeearguments
配列ではありませんが、実際の配列に変換する方法は次の 2 つです🎜rrreee🎜 関連する推奨事項: 🎜🎜🎜🎜 js 内の文字列の完全な配置。アルゴリズム分析🎜🎜🎜🎜🎜JavaScriptのイベントフローの内容を簡単に分析🎜🎜🎜以上がJavaScript 配列で一般的に使用される API の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。