[JS]問題を解く

2754 ワード

  • は少し時間がかかった問題を記録しています.
  • getDataは、3つの配列をパラメータとして受信する関数です.
    SalesArr:日付別販売
    ex) [["20190401", 34], ["20190402", 23], ["20190403", 29]]
    ReviewArr:日付ごとのコメント数
    ex) [["20190328", 3], ["20190401", 0], ["20190403", 1]]
    LikeArr:日付による「いいね」
    ex) [["20190328", 98], ["20190401", 102], ["20190403", 125]]
    objDataには3つの属性があります.
    summaount:総販売量
    sumReview:総評論数
    sumLike:いつも数が好きです
    function getData(salesArr,reviewArr,likeArr){
      const amount = salesArr.map(item => item[1]);
      const review = reviewArr.map(item => item[1]);
      const like = likeArr.map(item => item[1]);
    
      const sumAmount = amount.reduce((a,b) => (a+b));
      const sumReview = review.reduce((a,b) => (a+b));
      const sumLike = like.reduce((a,b) => (a+b));
    
      const obj = {
        "sumAmount":sumAmount,
        "sumReview":sumReview,
        "sumLike":sumLike
      }
      return obj
    }
    下線を引いたとき、reduceが実現したとき、reduceそのものを理解するのは難しいと書いて、本当に気持ちがいいです!foreachとmapはまだ少し混同していますが、2つのコードを繰り返し使うとまた理解できる状況です...

    2


    SliceCityFromAddress関数を実装してください.
    SliceCityFromAddress関数はアドレスパラメータを受信します.
    addressパラメータには、アドレスを表す文字列があります.
    指定された住所がどの都市なのかを見つけて、その住所から都市部分だけを削除する新しい住所を返してください.
    アドレスは「時」で終わる必要があります.例えば、「ソウル市」.
    住所には度と市が一度しか含まれていません.
    たとえば、次のアドレスを指定します.
    「京畿道城南市盆唐区中央公園路53」
    「京畿道城南市盆唐区中央公園路53」
    次の値を返さなければなりません.
    「京畿道盆唐区中央公園路53」
    function sliceCityFromAddress(address) {
      const city = address.indexOf("시");
      let result = "";
    
      const array = address.split(" ");
      if(array.indexOf("성남시") !== -1){
        const sungCity = array.indexOf("성남시");
        array.splice(sungCity,1);
        result = array.join(" ");
      }else{
        const seoul = array.indexOf("서울특별시");
        array.splice(seoul,1);
        result = array.join(" "); 
      }
      return result;
    }
    和弦を書く時もそうはしませんでした...passが出てきた答えを見て、私は問題を理解するのが少しおかしいと思います.でもしばらく忘れた配列join、splice、splitは私に考え直させた.
    function divideArrayInHalf(array) {
        let result = [];
        const reversedArray=array.reverse()
      
        for(let i = 0 ; i<reversedArray.length; i++){
          if(reversedArray[i] > 10){
            result.push(reversedArray[i])
          }else{
            result.unshift(reversedArray[i])
          }
        }
        return result;
    }
    以前cotteでfor文で配列を後ろに回して追加するかどうかを考えたことがあります.reverse()を使ったことがあるようで、グーグルは見ると、すぐに並び替えました!