let obj = {a: 1, b: 2, c: 3, d: 4, e: 5}; 
     
for ( let index in obj ) { 
	if ( obj[index] % 2 != 0 ) { 
		console.log( obj[index] ) 
	} 
} надо вывести в консоль НЕчётные элементы объекта
	JavaScript
	
	
	
	
		
		
								
				
				
							
								
				
								
				
				
							
								
				
								
				
								
				
			
	
		
			Можно ли как-то упростить?
 let obj = {a: 1, b: 2, c: 3, d: 4, e: 5}; 
Object.values(obj).filter(v => v % 2).forEach(v => console.log(v)); Но если можно в одну строку, то всё становится проще: let obj = {a: 1, b: 2, c: 3, d: 4, e: 5}; 
console.log(...Object.values(obj).filter(v => v % 2)); let obj = {a: 1, b: 2, c: 3, d: 4, e: 5};  
Object.values(obj).forEach(value => value % 2 !== 0 && console.log(value));
				
							Object.values(obj).forEach(value => value % 2 !== 0 && console.log(value));
 '     '.split('').map((v, i)=>i).filter(i=>i%2) Если без методов массива/объекта, то сильно ничего не поменять. Разве что пара незначительных нюансов.
И не то чтобы упрощение, но у объектов не индексы а свойства, и названия свойств принято называть ключами.
Объекты не принято перезаписывать, поэтому const уместнее.
Фигурные скобки не обязательны, если выражение одно.
С методами так:
				
							 const obj = { a: 1, b: 2, c: 3, d: 4, e: 5 };
for (let key in obj) {
  if (obj[key] % 2) console.log(obj[key]);
} Убрать сравнение с нулём разве что. obj[key] % 2 возвращает 1 или 0, что само по себе воспринимается как true/false.И не то чтобы упрощение, но у объектов не индексы а свойства, и названия свойств принято называть ключами.
Объекты не принято перезаписывать, поэтому const уместнее.
Фигурные скобки не обязательны, если выражение одно.
С методами так:
 const obj = {a: 1, b: 2, c: 3, d: 4, e: 5}; 
Object.values(obj).forEach(val => val % 2 && console.log(val));
// или так
Object.values(obj).filter(val => val % 2).forEach(val => console.log(val)); Это не упращение, это укорачивание. В каком-то роде даже усложнение, потому что новичок может не понять твой код.Можно упростить следующим образом:
let obj = {a: 1, b: 2, c: 3, d: 4, e: 5};
for (let key in obj) {
if (obj[key] % 2 !== 0) {
console.log(obj[key]);
}
}
				
							let obj = {a: 1, b: 2, c: 3, d: 4, e: 5};
for (let key in obj) {
if (obj[key] % 2 !== 0) {
console.log(obj[key]);
}
}
Можно переписать данный код в одну строку, используя метод Object.values() для получения значений объекта, метод forEach() для итерации по значениям и оператор стрелочной функции.
				
							 let obj = {a: 1, b: 2, c: 3, d: 4, e: 5}; 
Object.values(obj).forEach(value => value % 2 !== 0 && console.log(value));  Этот код создает массив значений из объекта obj с помощью Object.values(obj), а затем для каждого значения выполняет проверку на нечётность с помощью условия value % 2 !== 0. Если значение нечётное, оно выводится в консоль с помощью console.log(value).Похожие вопросы
- Не могу понять выражение Упростите на JS условие if(i-- && xx + yy <= 4 ), когда все переменные- числа!
- Как упростить этот код (цикл for)?
- Правильно ли я упростил коллбэк через стрелочную функцию?
- Единая упрощенная налоговая декларация и УСН
- 25 июля нужно платить налог (у меня упрощенная система налогообла
- Зачем стараться придумать зверю длинную кличку, иногда состоящую из нескольких слов? Тут не знаешь блин, как упростить..
- При переходе на упрощенную систему
- упрощенная система налогообложения
- Упрощенная система - непонятный моментик объясните, пожалуйста... Всем +5 и спасибо:-)))
- Срочно!!! Подскажите схему самостоятельного оформления ДТП по упрощенному порядку при сумме ущерба менее 25000 рублей.
 
			 
						