Как подменить свойство объекта в цикле for 
		
		
		
		Нужна помощь! :help: Перебираю циклом for массив с объектами примерно такой: 
	
[{"product": "name1", "price": "10"}, {"product": "name2", "price": "20"}, {"product": "name3", "price": "30"}]
В некоторых случаях в объекте может не быть одного свойства, при этом я могу понять это по имени, например 
[{"product": "name1", "price": "10"}, {"product": "Free"}, {"product": "name3", "price": "30"}]
Как можно в цикле, если "product": "Free" создать свойство "price": "0"? Просто начинают свойства смещаться, получается product[1] = "Free", price[1] = "30" (из третьего объекта, т.к во втором нет цены), а product[2] = "30" и price[2] = undefined;  | 
	
		
 DenZen, 
	
<script>
let ar = [{"product": "name1", "price": "10"}, {"product": "Free"}, {"product": "name3", "price": "30"}]
ar.forEach(e => {
    if(e.product === "Free") e.price = "0";
});
document.write(JSON.stringify(ar))
    </script>
 | 
	
		
 Цитата: 
	
 
const arr = [
	{"product": "name1", "price": "10"}, 
	{"product": "Free"}, 
	{"product": "name3", "price": "30"}
]
arr.forEach(el => alert(el.product + ' - ' + (el?.price ?? 0)))
 | 
	
		
 el?.price ?? 0первый вопросик бессмысленный. Еся там не будет el - оно свалится ещё на el.product.)  | 
	
		
 Цитата: 
	
 Вопрос был только Цитата: 
	
  | 
	
		
 ksa, 
	В выражении alert(el.product + ' - ' + (el?.price ?? 0)))нет смысла использовать "?."  | 
| Часовой пояс GMT +3, время: 12:52. |