filter/find/findIndex

17411 ワード

filter
ターゲットは、
  • 要素(検索機能)
  • のフィルタリングです.
  • シーケンス、各要素が条件検証後、条件を満たす要素からなる新しいシーケンス(フィルタ)
  • 既存配列
  • を変更する.
    let newArray = arr.filter(callback(currentValue[, index, [array]]) {}[, thisArg]);
  • mapとforeachの同じ構文
  • 1.1
    let numbers = [1, 4, 9]
    let parameters = numbers.filter((num, index, arr) =>
              	{console.log(num, index, arr)})
  • の値は次のとおりです.
    1 0 [ 1, 4, 9 ]
    4 1 [ 1, 4, 9 ]
    9 2 [ 1, 4, 9 ]
  • 1.2(価格が2000元以下)
    var ss = [
    {name : 'apple, price : 2000},
    {name : 'banana', price : 1200}, 
    {name : 'melon', price : 3000}
    ];
    var newFilter = ss.filter((e) => e.price >= 2000);
            console.log(newFilter);
    ->の値は{name:"apple,price:2000},
    {name : 'banana', price : 1200}
    1.3(検索文字列)
    var A = [
    {name : "이건", salary : 5000},
    {name : "홍길동", salary : 1000},
    {name : "임신구", salary : 3000},
    {name : "이승룡", salary : 2000}
    ];
    var B = A.filter(function(e){
            return e.name == "이건";
        });
    ->の値は{name:[これ],salary:5000}
    1.4矢印関数
    var A = [
    {name : "이건", salary : 5000},
    {name : "홍길동", salary : 1000},
    {name : "임신구", salary : 3000},
    {name : "이승룡", salary : 2000}
    ];
    var B = A.filter((e) => e.name == "이건");
    console.log(B);
    ->の値は{name:[これ],salary:5000}
    1.5フィルタして並べ替える
  • 10未満の数字をフィルタし、
  • を並べ替えます.
    function a(value) {
    	return value >= 10;
    };
    var b = [12, 5, 7, 33, 50].filter(a);
    console.log(b)
    ->値は[12,33,50]
    find
    配列内の各要素のコールバック関数を実行し、
  • コールバック関数がパラメータを返すまで
    必要な要素が見つかり次第、
  • に戻ります.
  • 既存アレイ
  • は変更する.
    1.1
    let kk = [ 
    	{name : 'banana', price : 3000},
        {name : 'apple', price : 2000},
        {name : 'melon', price : 10000}
    ];
    function findnames(names) {
    	return names.name === 'banana';
    }
    console.log(kk.find(findnames)); 
    1.2矢印関数の使用
    let kk = [ 
    	{name : 'banana', price : 3000},
        {name : 'apple', price : 2000},
        {name : 'melon', price : 10000}
    ];
    let result = kk.find(i => i.name === 'banana');
    console.log(result);
    ->i変更の影響を受けない
    findIndex
  • を使用して、検索する値のインデックス値(いくつか)を返します.
    検索する値
  • が見つかるまで、関数をすべての配列の各要素に適用します.
  • 呼び出し配列は
  • を変更しない.
    1.1
    let kk = [ 
    	{name : 'banana', price : 3000},
        {name : 'apple', price : 2000},
        {name : 'melon', price : 10000}
    ];
    let index = kk.findIndex(findtitle => findtitle.name == 'apple'); 
    console.log(index);
    ->値1