Показать сообщение отдельно
  #1 (permalink)  
Старый 28.04.2022, 10:48
Аспирант
Отправить личное сообщение для kpripper Посмотреть профиль Найти все сообщения от kpripper
 
Регистрация: 02.04.2011
Сообщений: 33

Одинаковые операции дают разный результат
Привет, вроде одинаковый код, но в первом случае получаем объект { 0: 5 }, а во втором { "4": 1 }. Почему так?

let array = [4]

//если элемент существует, прибавляем 1 и возвращаем сумму
array[0] = array[0] ? array[0] + 1 : 1; 

//выводит массив, то есть объект у которого свойство 0 имеет значение 5
console.log(array);

//делаем то же самое
let array2 = [4]
array2.reduce((acc, item) => {
  acc[item] = acc[item] ? acc[item] + 1 : 1; 
//выводит объект, у которого свойство 4 имеет значение 1
 console.log(acc); 
}, {});
Ответить с цитированием