Добавление свойства в объект js

Есть функция, которая принимает строку любых символов и возвращает только числа в виде строки.

Задача состоит в том, чтоб написать другую функцию, которая будет возвращать объект, в котором ключ - это цифра строки, полученной предыдущей функцией, а свойство - сколько раз повторяется эта цифра в строке.

Вопрос такой - как задать свойство?

Я реализовал таким образом:

function countNumber(str) {
  let obj = {}
  //makeNumber работает ок, не обращаем внимание
  let stringOfNumbers = makeNumber(str);

  for (let i = 0; i < stringOfNumbers.length; i++) {
    obj[stringOfNumbers[i]] = 1;
  }

}

потом If-ОМ проверяем, есть ли уже такое значение и т.д, но сама проблема в том, что не задается свойство и я никак не могу сообразить, как задать нужное мне название свойства.

Заранее спасибо за ответ!


Ответы (2 шт):

Автор решения: Igor

... не задается свойство

Как Вы проверяете, задается оно или не задается?

function countNumber(str) {
  let obj = {}
  let stringOfNumbers = str; //makeNumber(str);
  for (let i = 0; i < stringOfNumbers.length; i++) {
    obj[stringOfNumbers[i]] = (obj[stringOfNumbers[i]] || (obj[stringOfNumbers[i]] = 0)) + 1;
  }
  return obj;
}
console.log(countNumber([3, 6, 1, 1]));

→ Ссылка
Автор решения: Yevhen Duplenko

Все, спасибо) нашел такой вот метод Object.defineProperty(), уже получилось подстроить под решение

→ Ссылка