アルゴリズム45-CountbyX


Q.


Create a function with two arguments that will return an array of the first (n) multiples of (x).
Assume both the given number and the number of times to count will be positive numbers greater than 0.
Return the results as an array (or list in Python, Haskell or Elixir).
Examples:
countBy(1,10) === [1,2,3,4,5,6,7,8,9,10]
countBy(2,5) === [2,4,6,8,10]

A)

function countBy(x, n) {
  return new Array(n).fill().map((d, i) => (i + 1) * x);
}

other


アルゴリズム29で初めて知ったnew Array(n).fill().map()を使いました!
他のソリューションにも注目すべきものがあります.Array.from:類似配列オブジェクトまたは重複可能オブジェクトを浅くコピーして新しいArrayオブジェクトを作成します.
mdnで文字列配列を使ったことがあるようです
  • 類似配列オブジェクト(長さプロパティとインデックス要素を持つオブジェクト)
  • 巡回可能オブジェクト(取得可能オブジェクトの要素、例えばMap、Setなど)
  • 上記の条件では、新しい配列を調整することもできるという.長さを決められるなんて、こいつも頭がいいし、よく使うらしい.メモ🤓
     const countBy = (x, n) => Array.from({length: n}, (v, k) => (k + 1) * x)
    そして下はspreadで並べられていて、私のようにマッピングされています.うん、本当にいろいろな解決策があって、不思議ですね!!😆👌
    const countBy = (x, n) =>
     [...Array(n)].map((_, idx) => ++idx * x);