Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2022, 13:12
Новичок на форуме
Отправить личное сообщение для Андрей Буржуй Посмотреть профиль Найти все сообщения от Андрей Буржуй
 
Регистрация: 24.12.2022
Сообщений: 4

Помогите новичку, пожалуйста!
let menu = {
wigth: 200,
heith: 300,
title: 'My menu'
}
for (i = 0; i < Object.values(menu).length; i++) {
typeof (Object.values(menu)[i]) === 'number' ? Object.values(menu)[i] = Object.values(menu)[i] * 2 : {}
}
console.log(Object.values(menu))

Выводит значения первоначальных значений menu, не срабатывает Object.values(menu)[i] = Object.values(menu)[i] * 2, хотя console.log(Object.values(menu)[i] = Object.values(menu)[i] * 2) - нормально работает, выводит 400. Пожалуйста, просветите в данном случае.
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2022, 13:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Андрей Буржуй,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2022, 13:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Андрей Буржуй,
надо свойству присвоить новое значение.
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2022, 13:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Андрей Буржуй,
let menu = {
            wigth: 200,
            heith: 300,
            title: 'My menu'
        };
        for (const [key, value] of Object.entries(menu)) {
            if (typeof value === 'number') menu[key] *= 2; // menu[key] = menu[key] * 2
        }

        console.log(Object.values(menu))
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2022, 13:27
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Не очень понятно, чего вы хотите.
Но Object.values(menu) создает массив значений свойств объекта.
И каждый раз, когда вы пишите Object.values(menu) будет создаваться новый массив
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2022, 13:28
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Это не присвоит значение свойству. Это запишет значение в массив.
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2022, 13:43
Новичок на форуме
Отправить личное сообщение для Андрей Буржуй Посмотреть профиль Найти все сообщения от Андрей Буржуй
 
Регистрация: 24.12.2022
Сообщений: 4

Спасибо, вопрос закрыт!
Сообщение от рони Посмотреть сообщение
Андрей Буржуй,
let menu = {
            wigth: 200,
            heith: 300,
            title: 'My menu'
        };
        for (const [key, value] of Object.entries(menu)) {
            if (typeof value === 'number') menu[key] *= 2; // menu[key] = menu[key] * 2
        }

        console.log(Object.values(menu))
Ваш вариант работает на "Отлично". Спасибо за внятные комментарии.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста новичку geo506 Events/DOM/Window 3 24.08.2020 09:29
Помогите пожалуйста!!! igrovik Общие вопросы Javascript 40 10.04.2018 13:53
Помогите новичку, пожалуйста Bruha1991 Общие вопросы Javascript 1 27.01.2016 19:11
Слайдер - карусель блоков (помогите пожалуйста) Viktor.Poberezhniy Общие вопросы Javascript 3 22.07.2014 12:46
Помоигите пожалуйста новичку xela1980 jQuery 1 22.11.2009 16:37