Maison  >  Questions et réponses  >  le corps du texte

javascript - Encapsuler les parties répétées de ces deux fonctions en une seule fonction?

//给数组中的每一项增加3

function addThreeForEachItem(array){

      for(var i = 0; i < array.length; i++){

        array[i] = array[i] + 3;

    }

    return array;

}

//将数组中的每一项编码

function encodeEachItem(array){

    for(var i = 0; i < array.length; i++){

        array[i] = encodeURIComponent(array[i]);

    }

    return array;

}

Les deux fonctions sont très similaires (duplicata). Comment encapsuler les parties répétées de ces deux fonctions en une seule fonction ?

大家讲道理大家讲道理2727 Il y a quelques jours592

répondre à tous(3)je répondrai

  • 某草草

    某草草2017-05-19 10:11:46

    Il existe une méthode native sans encapsulation

    array.map(item=>item+3)
    array.map(item=>encodeURIComponent(item))

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-19 10:11:46

    La méthode map fournie avec JS a encapsulé vos besoins

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:11:46

    可以考虑给第二个参数来区分
    function repeatControl(array,param){
     for(var i = 0; i < array.length; i++){
        if(param=='addThree'){
           array[i] + = 3;
        }else{
           array[i] = encodeURIComponent(array[i]);
        }
     }
      return array;
    }

    répondre
    0
  • Annulerrépondre