メソッドの仕上げ配列は、現在、新しいES6方法を学ぶために使用されます。
長さ1 arr.push()後から添加元素は、戻り値は、配列の後に追加されます
[1,2,3,4,5] ARR =ましょう console.log(arr.push(5))// 6 console.log(ARR)// [1,2,3,4,5,5]
後ろから2 arr.pop()を除去要素、戻り値の一つだけの要素が削除されています
[1,2,3,4,5] ARR =ましょう console.log(arr.pop())// 5 console.log(ARR)// [1,2,3,4]
3 arr.shift()は前部削除要素の値を返し、それだけで削除された要素から削除することができます
[1,2,3,4,5] ARR =ましょう console.log(arr.shift())// 1 console.log(ARR)// [2,3,4,5]
上記の要素を追加するために長さ4 arr.unshift()、戻り値が配列の後に追加されます
[1,2,3,4,5] ARR =ましょう console.log(arr.unshift(2))// 6 console.log(ARR)// [2,1,2,3,4,5]
I(インデックス値)からその要素を削除開始後5 arr.splice(I、N)。戻り値は取り除かれた要素であります
引数:インデックスi番号n
[1,2,3,4,5] ARR =ましょう console.log(arr.splice(2,2))// [3,4] console.log(ARR)// [1,2,5]
6 arr.concatは()は、2つの新たなアレイのアレイが接続部に接続され、戻り
[1,2,3,4,5] ARR =ましょう console.log(arr.concat([1,2]))// [1,2,3,4,5,1,2] console.log(ARR)// [1,2,3,4,5]
7 str.split()は、文字列の配列に変換されます
聞かせてSTR = '123456' console.log(str.split( ''))// [ "1"、 "2"、 "3"、 "4"、 "5"、 "6"]
8 arr.sort()配列をソートするには、良好な戻り値は行の配列であり、デフォルトでは、数値分類サイズの例を参照していない左端の桁によってソートされます。
[2,10,6,1,4,22,3] ARR =ましょう console.log(arr.sort())// [1、10、2、22、3、4、6] ( - B(A、B)=> a)のARR1 = arr.sortてみましょう console.log(ARR1)// [1、2、3、4、6、10、22] 聞かせてARR2 = arr.sort((a、b)は=> BA) console.log(ARR2)// [22、10、6、4、3、2、1]
9 arr.reverse()配列が戻り値は逆の配列であり、逆
[1,2,3,4,5] ARR =ましょう console.log(arr.reverse())// [5,4,3,2,1] console.log(ARR)// [5,4,3,2,1]
配列インデックス値のインデックス開始端部を切断する10 arr.slice(開始、終了)、インデックスが終了値が含まれていない、戻り値は、カットアウトの配列であります
[1,2,3,4,5] ARR =ましょう console.log(arr.slice(1,3))// [2,3] console.log(ARR)// [1,2,3,4,5]
11 arr.forEachアレイを介して(コールバック)は、ノーリターン リターンがあっても、それがどのような値を返さない、と元の配列に影響を与えます
コールバックパラメータ:値 - インデックスの現在値
インデックス - インデックス
配列 - 元の配列
[1,2,3,4,5] ARR =ましょう arr.forEach((値、インデックス、アレイ)=> { console.log( `値:$ {値}のインデックス:$ {索引}アレイ:$ {アレイ}`) }) //値:1インデックス:0アレイ:1,2,3,4,5 //値:2度:1の配列:1,2,3,4,5 //値:3度:2配列:1,2,3,4,5 //値:4度:3配列:1,2,3,4,5 //値:5度:4の配列:1,2,3,4,5 [1,2,3,4,5] ARR =ましょう arr.forEach((値、インデックス、アレイ)=> { 値=値* 2 console.log( `値:$ {値}のインデックス:$ {索引}アレイ:$ {アレイ}`) }) console.log(ARR) //値:2指数:0アレイ:1,2,3,4,5 //値:4度:1の配列:1,2,3,4,5 //値:6度:2配列:1,2,3,4,5 //値:8度:3配列:1,2,3,4,5 //値:10インデックス:4、配列:1,2,3,4,5 // [1、2、3、4、5]
ARR = [1,2,3,4]でした。
VAR RES = arr.forEach((項目、インデックス、ARR)=> {
ARR [インデックス] =項目* 2。
リターンARR
})
console.log(ARR)。// [2,4,6,8]
console.log(RES)。//未定義
12 arr.map(コールバック)マッピングアレイ(反復)、新しい配列を返すリターンがあります。
コールバックパラメータ:値 - インデックスの現在値
インデックス - インデックス
配列 - 元の配列
[1,2,3,4,5] ARR =ましょう arr.map((値、インデックス、アレイ)=> { 値=値* 2 console.log( `値:$ {値}のインデックス:$ {索引}アレイ:$ {アレイ}`) }) console.log(ARR)
ここで、R1 = [1,2,3,4]。
VAR RES1 = arr1.map((項目、インデックス、ARR)=> {
項目=項目* 3。
返却物;
})
console.log(ARR1)。// [1,2,3,4]
console.log(RES1)。// [3,6,9,12]
PS:の差arr.forEach()及び(arr.map)
1. arr.forEach()はforループのために置換されています。arr.map()ここで、変更されたデータ配列であり、新たなデータを返します。
2. arr.forEachは()の戻りを持っている)(arr.map戻りません
アレイと13 arr.filter(コールバック)の要件を満たすために配列を返します
コールバックパラメータ:値 - インデックスの現在値
インデックス - インデックス
[1,2,3,4,5] ARR =ましょう
ARR1 = arr.filter((値、指数)=>値<3)させ
console.log(ARR1)// [1、2]
はいトゥーレを返す場合14 arr.every(コールバック)は、アレイの全要素が満たされているかどうか、条件に応じて決定されます
コールバックパラメータ:値 - インデックスの現在値
インデックス - インデックス
[1,2,3,4,5] ARR =ましょう
ARR1 = arr.every((値、指数)=>値<3)させ
console.log(ARR1)//偽
ARR2 = arr.every((値、指数)=>値<6)させ
console.log(ARR2)//真
15 arr.some()ミートトゥーレに戻った場合、満足配列が存在するかどうか、条件に応じて要素の分析
コールバックパラメータ:値 - インデックスの現在値
インデックス - インデックス
[1,2,3,4,5] ARR =ましょう
ARR1 = arr.some((値、指数)=>値<3)させ
console.log(ARR1)//真
ARR2 = arr.some((値、指数)=>値> 6)させ
console.log(ARR2)//偽
16 arr.reduce(コールバックはinitialValue)(左から右へ)すべての反復の配列、アキュムレータ、各値はアレイで結合し、最終的に算出された値
パラメータ:コールバック:previousValue必要 - 最初の呼び出しのコールバックの戻り値、または提供された初期値(はinitialValue)
currentValueは必須 - 配列項目は、現在処理中の配列
オプションのインデックス - 配列内の現在の配列項目のインデックス値
オプションの配列 - 元の配列
initialValue:オプション - 初期値
方法を実施する:最初のコールバック関数の実行、及びCURVALUE preValueにはinitialValueコールを(低減させる場合に提供される値とすることができる場合)、最初preValueはinitialValue等しく、かつ第1の値CURVALUEアレイに等しく;場合設けられていない初期値、その後preValueは、配列内の最初の値に等しいです。
[0,1,2,3,4] ARR =ましょう 聞かせてARR1 = arr.reduce((preValue、CURVALUE)=> preValue + CURVALUE ) console.log(ARR1)// 10
せARR2 = arr.reduce((preValue、CURVALUE)=> preValue + CURVALUE、5) console.log(ARR2)// 15
高度な使い方が削減します
数(1)は、各配列要素が現れるために計算されます
名前= [「ピーター」、「トム」、「メアリー」、「ボブ」、「トム」、「ピーター」]をしましょう。
せnameNum = names.reduce((プリ、CUR)=> {
IF(事前にCUR){
[クリーニング]を事前++
}他{
事前[洗浄] = 1
}
リターン前
}、{})
console.log(nameNum)。// {ピーター:2、トム:2、メアリー:1、ボブ:1}
(2)重複排除のアレイ
[1,2,3,4,4,1] ARR =ましょう せnewArr = arr.reduce((プリ、CUR)=> { もし(!のpre.includes(CUR)){ リターンpre.concat(CUR) }他{ リターン前 } }、[]) console.log(newArr); // [1、2、3、4]
(3)一次元に多次元配列
せARR = [0、1]、[2]、[3]、[4、[5,6,7]]] CONST newArr =関数(ARR){ 戻りarr.reduce((プリ、CUR)=> pre.concat(Array.isArray(CUR)newArr(CUR):CUR)、[]) } console.log(newArr(ARR))。// [0、1、2、3、4、5、6、7]
17 arr.reduceRight(callback, initialValue) 与arr.reduce()功能一样,不同的是,reduceRight()从数组的末尾向前将数组中的数组项做累加。
实行方法:reduceRight()首次调用回调函数callbackfn时,prevValue 和 curValue 可以是两个值之一。如果调用 reduceRight() 时提供了 initialValue 参数,则 prevValue 等于 initialValue,curValue 等于数组中的最后一个值。如果没有提供 initialValue 参数,则 prevValue 等于数组最后一个值, curValue 等于数组中倒数第二个值。
let arr = [0,1,2,3,4] let arr1 = arr.reduceRight((preValue, curValue) => preValue + curValue ) console.log(arr1) // 10
let arr2 = arr.reduceRight((preValue,curValue)=>preValue + curValue,5) console.log(arr2) // 15
ps:
(如果对这两个方法不明白,可以查看大漠老师的实例
http://www.w3cplus.com/javascript/array-part-8.html)
18 arr.indexOf() 查找某个元素的索引值,若有重复的,则返回第一个查到的索引值若不存在,则返回 -1
let arr = [1,2,3,4,5,2] let arr1 = arr.indexOf(2) console.log(arr1) // 1 let arr2 = arr.indexOf(9) console.log(arr2) // -1
19 arr.lastIndexOf() 和arr.indexOf()的功能一样,不同的是从后往前查找
let arr = [1,2,3,4,5,2] let arr1 = arr.lastIndexOf(2) console.log(arr1) // 5 let arr2 = arr.lastIndexOf(9) console.log(arr2) // -1
20 Array.from() 将伪数组变成数组,就是只要有length的就可以转成数组。 ---es6
let str = '12345' console.log(Array.from(str)) // ["1", "2", "3", "4", "5"] let obj = {0:'a',1:'b',length:2} console.log(Array.from(obj)) // ["a", "b"]
21 Array.of() 将一组值转换成数组,类似于声明数组 ---es6
let str = '11' console.log(Array.of(str)) // ['11']
等价于
console.log(new Array('11')) // ['11]
ps:
但是new Array()有缺点,就是参数问题引起的重载
console.log(new Array(2)) //[empty × 2] 是个空数组 console.log(Array.of(2)) // [2]
22 arr.copyWithin() 在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组
参数: target --必选 索引从该位置开始替换数组项
start --可选 索引从该位置开始读取数组项,默认为0.如果为负值,则从右往左读。
end --可选 索引到该位置停止读取的数组项,默认是Array.length,如果是负值,表示倒数
let arr = [1,2,3,4,5,6,7] let arr1 = arr.copyWithin(1) console.log(arr1) // [1, 1, 2, 3, 4, 5, 6] let arr2 = arr.copyWithin(1,2) console.log(arr2) // [1, 3, 4, 5, 6, 7, 7] let arr3 = arr.copyWithin(1,2,4) console.log(arr3) // [1, 3, 4, 4, 5, 6, 7]
23 arr.find(callback) 找到第一个符合条件的数组成员
let arr = [1,2,3,4,5,2,4] let arr1 = arr.find((value, index, array) =>value > 2) console.log(arr1) // 3
24 arr.findIndex(callback) 找到第一个符合条件的数组成员的索引值
let arr = [1,2,3,4,5] let arr1 = arr.findIndex((value, index, array) => value > 3) console.log(arr1) // 3
25 arr.fill(target, start, end) 使用给定的值,填充一个数组,ps:填充完后会改变原数组
参数: target -- 待填充的元素
start -- 开始填充的位置-索引
end -- 终止填充的位置-索引(不包括该位置)
let arr = [1,2,3,4,5] let arr1 = arr.fill(5) console.log(arr1) // [5, 5, 5, 5, 5] console.log(arr) // [5, 5, 5, 5, 5] let arr2 = arr.fill(5,2) console.log(arr2) let arr3 = arr.fill(5,1,3) console.log(arr3)
26 arr.includes() 判断数中是否包含给定的值
let arr = [1,2,3,4,5] let arr1 = arr.includes(2) console.log(arr1) // ture let arr2 = arr.includes(9) console.log(arr2) // false let arr3 = [1,2,3,NaN].includes(NaN) console.log(arr3) // true
ps:与indexOf()的区别:
1 indexOf()返回的是数值,而includes()返回的是布尔值
2 indexOf() 不能判断NaN,返回为-1 ,includes()则可以判断
27 arr.keys() 遍历数组的键名
let arr = [1,2,3,4] let arr2 = arr.keys() for (let key of arr2) { console.log(key); // 0,1,2,3 }
28 arr.values() 遍历数组键值
let arr = [1,2,3,4] let arr1 = arr.values() for (let val of arr1) { console.log(val); // 1,2,3,4 }
29 arr.entries() 遍历数组的键名和键值
let arr = [1,2,3,4] let arr1 = arr.entries() for (let e of arr1) { console.log(e); // [0,1] [1,2] [2,3] [3,4] }
entries() 方法返回迭代数组。
迭代数组中每个值 前一个是索引值作为 key, 数组后一个值作为 value。
最後に:
これは間違った場所には、一緒に議論し、一緒に進行プライベートの手紙やコメントをしてください場合は方法の私のレビュー・アレイは、整理されています。
私はgithubの中に配列にこれらのメソッドを入れて、あなたは検証学ぶためにダウンロードすることができます https://github.com/sqh17/notesを
あなたはあなたが助けにこの記事を読んでいると感じた場合は、「クリックしてくださいお勧めします」ボタンを、あなたは「推奨」私の最大の記録パワーになります!あなたは転載へようこそますが、作者の同意を得ることなく、その後、転載記事は、原作者を与える必要がありますし、記事ページの見かけ上の位置に接続し、法的責任を追及するためにそれ以外の権利を。