for循環を書くことを拒絶して、フロントエンドの技師の必ず掌握しなければならないArayの原生の関数
3384 ワード
身につける
Aray.prototype.every関数
文法の説明の最初のパラメータは、コールバック関数 に戻る. の第二パラメータは があります.コールバック関数 の3つのパラメータがあります. に修正されてもよい. を巡回される.空行列は、直接 に戻ります.は、コールバック関数が戻っていない場合、 に戻る.
コードの例
01配列中のデータがすべてある条件を満たすかどうかを判断する.
一クラスの学生は全部男子でなければなりません.
需要例:クラスの学生が男子であれば、彼が示した色を修正するのは赤色です.
文法の説明
和
(7).空の配列であれば、
ビジネスシーンのこの2つの関数は、いずれも コールバック関数は、リターン値が設定されていない場合、デフォルトは に変換されます.コールバック関数は を巡回し続けることができる.
Aray.prototype.filter(calbackfn[,thisArg])
文法の説明
基本的な文法と前の
コードの例
ビジネスシーン
クラスの男子学生を濾過します.
Array
の内蔵方法は、forループを全く書かずに、様々な業務シーンを解決することができます.Aray.prototype.every関数
文法の説明
callbackfn
が必要であり、関数であり、この関数は3つのパラメータを受け入れ、Boolean
値、つまりtrue
またはfalse
every
関数は、現在の配列中の各要素を順序付けるときに、callbackfn
を呼び出してcallbackfn
にfalse
を返したときに、thisArg
を巡回して終了する.callbackfn
である.必須ではなく、このパラメータが提供されている場合.このパラメータは、this
のcallbackfn
に与えられる.提供されていない場合、this
のundefined
はglobal
である.もちろんnodejsにはcallbackfn
オブジェクトevery
には、現在巡回されている要素、現在巡回されている要素のコーナースケール、現在巡回されている配列オブジェクトcallbackfn
関数は、元の配列を変更しないが、この元の配列はevery
においてtrue
関数は、現在の要素のみを巡回し、巡回中に追加または削除された要素は巡回されないが、変更された要素はevery
false
は第1の要素だけを巡回し、every
コードの例
// , 2
let arr = [1,2,3];
let result = arr.every(function(num,index,arr){
return num<2
})
console.log(result); // false
ビジネスシーン01配列中のデータがすべてある条件を満たすかどうかを判断する.
一クラスの学生は全部男子でなければなりません.
// gender:1-> 0->
let studentList = [
{
name:' ',
gender:1
},
{
name:' ',
gender:1
},
{
name:' ',
gender:0
},
]
let result = studentList.every(function(st){
return st.gender === 1
})
console.log(result) // false
02単純にすべての要素を遍歴し、ある条件を満たすと要素を修正します.需要例:クラスの学生が男子であれば、彼が示した色を修正するのは赤色です.
// gender:1-> 0->
let studentList = [
{
name:' ',
gender:1
},
{
name:' ',
gender:1
},
{
name:' ',
gender:0
},
]
let result = studentList.every(function(st){
if(st.gender === 1){
st.color = 'red'
}
return true; // , ,
})
console.log(result) // true
Aray.prototype.some(calbackfn[,thisArg])文法の説明
和
some
非常タイプで、唯一の違いは第7条と第8条です.(7).空の配列であれば、
false
関数戻りsome
(8).コールバック関数が返されていない場合、false
はすべての要素を巡回し、リターンする.every
サンプルコードevery
と同様です.ビジネスシーン
every
と同様です.some
およびES6
を使用するための注意事項ie9+
の関数であり、ブラウザlodash.js
をサポートしています.もし、低バージョンの互換性が必要であれば、第三者のツールライブラリによって実現する必要があります.例えば、underscore.js
またはnull
に戻ります.つまりfalse
false
に戻る.every
は巡回を中断することができ、some
はAray.prototype.filter(calbackfn[,thisArg])
文法の説明
基本的な文法と前の
every
と同様である唯一の違いは、filter
は新しい配列を返します.コードの例
every
と同様です.ビジネスシーン
クラスの男子学生を濾過します.
// gender:1-> 0->
let studentList = [
{
name:' ',
gender:1
},
{
name:' ',
gender:1
},
{
name:' ',
gender:0
},
]
let maleList = studentList.filter(function(st){
return st.gender === 1
})
console.log(maleList) // [/** **/]
次号に続く