Передо мной была поставлена задача подсчета, в которой я должен вернуть объект, содержащий количество элементов в массиве. например,
expect(createTally(['a', 'b', 'a'])).to.eql({ a: 2, b: 1 });
Итак, мне удалось сделать это с помощью функции уменьшения высшего порядка, но я хочу быть в состоянии сделать это с помощью для l oop, поэтому я действительно могу увидеть, как это работает, мой код для метода уменьшения ниже ...
const createTally = items => {
const counter = items.reduce((acc, curr) => {
acc[curr] = (acc[curr] || 0) + 1
return acc
}, {})
return counter
}
Пока для моего для l oop у меня есть ...
const createTally = items => {
const tally = {};
let count = 0
if (items.length > 0) {
for (let i = 0; i < items.length; i++) {
if (items[i].length > count) {
count += count + 1
console.log(count)
}
const key = items[i]
tally[key] = count
return tally
}
} else {
return tally;
}
}
Я изо всех сил пытаюсь увеличить мой счет и без прохождения каких-либо тестов, кроме возможности возврата пустого объекта при передаче пустого массива и прохождения 1 пары ключ-значение при задании одного элемента, любая помощь будет принята с благодарностью, спасибо