Помогите решить задачу по js

94
06 июня 2021, 09:40

Условие

Напиши класс StringBuilder. На вход он получает один параметр - строку, которую записывает в свойство _value.

Добавь классу следующий функционал:

  • геттер value - возвращает текущее значение поля _value;
  • метод append(str) - получает параметр str (строку) и добавляет ее в конец _value;
  • метод prepend(str) - получает параметр str (строку) и добавляет ее в начало value;
  • метод pad(str) - получает параметр str (строку) и добавляет ее в начало и в конец _value.
const builder = new StringBuilder('.');
builder.append('^');
console.log(builder.value); // '.^'
builder.prepend('^');
console.log(builder.value; // '^.^'
builder.pad('=');
console.log(builder.value; // '=^.^='

Вот мое решение:

'use strict'; 
class StringBuilder { 
  constructor(value) { 
    this.value = value; 
  } 
  get value() { 
    return this.value; 
  } 
 
  append(str) { 
    this.value.push(str); 
  } 
 
  prepend(str) { 
    this.value.unshift(str); 
  } 
  // додає елемент на поч і в кін 
  pad(str){ 
    this.value.unshift(str); 
  } 
} 
 
const builder = new StringBuilder('.'); 
 
// const value = builder.value(); 
// console.log(this.value); 
 
builder.append('^'); 
console.log(builder.value); // '.^' 
 
 
builder.prepend('^'); 
console.log(builder.value; // '^.^'

Answer 1

Скорее всего, тебе сказали, что строка - это массив символов) Но это не значит, что строка поддерживает те же методы, что и массив)

   class StringBuilder {
    constructor(value) {
      this.value = value;
    }
    get val() {
      return this.value;
    }
    set val(value) {
      this.value = value;
    }
    append(str) {
      this.value += str;
    }
    prepend(str) {
      this.value = str + this.value;
    }
    // додає елемент на поч і в кін
    pad(str) {
      this.value = str + this.value + str;
    }
  }
READ ALSO
переменная выводит undefined

переменная выводит undefined

есть два файла libjs:

97
Суммировать значения select (option data) в input

Суммировать значения select (option data) в input

Помоги пожалуйста переделать, чтобы сумма считалась не по значениям value выбранных option, а по значениям data-col

79
Как можно изменять порядок элементов массива из DOM?

Как можно изменять порядок элементов массива из DOM?

У меня в реакт компоненте, рендерется определенный список из массива с помощью map()Соответственно в DOM они отображаются последовательно, соответсвтенно...

340
Как избежать дублирование в AJAX запросе?

Как избежать дублирование в AJAX запросе?

Есть ли возможность избежать дублирование в AJAX запросе

114