JavaScript: использование метода-прототипа внутри класса для консольного журнала ### вместо букв в массиве - PullRequest
0 голосов
/ 11 июля 2019

Я хочу взять следующий массив и превратить его в последовательность #####, используя метод массива. Примечание: я использую метод-прототип внутри класса.

this.secretWord = ['e', 'l', 'e', 'p', 'h', 'a', 'n', 't']

Ниже мой код:

getSecretWordPuzzle () {
    let newArr = []; 
    return this.secretWord.map((elem) => {
      let finalStr = newArr.push('#')

      console.log(finalStr)
    })
  }

Мой вывод:

[ undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined ]

Мой желаемый результат: '########'

Что я делаю не так?

1 Ответ

1 голос
/ 11 июля 2019

Вы должны возвращать значение, а не push в массив;Карта возвращает новый массив:

const secretWord = ['e', 'l', 'e', 'p', 'h', 'a', 'n', 't']
const getSecretWordPuzzle = () => secretWord.map(_ => '#')

console.log(getSecretWordPuzzle())

Или используйте foreach и возвращайте массив, используя ваш подход:

const secretWord = ['e', 'l', 'e', 'p', 'h', 'a', 'n', 't']

function getSecretWordPuzzle() {
  let newArr = [];
  secretWord.forEach(() => newArr.push('#'))
  return newArr
}

console.log(getSecretWordPuzzle())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...