Показать сообщение отдельно
  #1 (permalink)  
Старый 20.11.2021, 11:33
Новичок на форуме
Отправить личное сообщение для spavels Посмотреть профиль Найти все сообщения от spavels
 
Регистрация: 20.11.2021
Сообщений: 5

Сравнить объект с undefined
Здравствуйте! Подскажите, пожалуйста. Нужно определить, есть ли поле в элементе массива, и если его нет, то удалить этот элемент из массива объектов. Пытаюсь так - не выходит. Ругается так: Cannot read properties of undefined (reading 'groupld')

const students = [
	{ id: 1, fullName: "Иванов Сергей", age: 18, groupld: 3 },
	{ id: 2, fullName: "Фролова Василиса", age: 17, groupld: 3 },
	{ id: 3, fullName: "Курочкина Диана", age: 18, groupld: 5 },
	{ id: 4, fullName: "Кравцов Алексей", age: 19, groupld: 4 },
	{ id: 5, fullName: "Краснова Елизавета", age: 19, groupld: 3 },
	{ id: 6, fullName: "Королев Александр", age: 19 },
	{ id: 7, fullName: "Игнатьев Влад", age: 20, groupld: 2 },
	{ id: 8, fullName: "Сергеев Михаил", age: 18, groupld: 1 },
	{ id: 9, fullName: "Зайцев Виталий", age: 18, groupld: 1 },
	{ id: 10, fullName: "Курочкина Евгения", age: 18, groupld: 3 },
	{ id: 11, fullName: "Васильев Александр", age: 19, groupld: 4 }
];

function foo(arr1) {
	let copyStudents = JSON.parse(JSON.stringify(arr1));
	let a = Object.keys(copyStudents).length;

	for ( let i = 0; i <= a; i++ ) {
		if ( typeof copyStudents[i].groupld === undefined ) {
			delete copyStudents[i];
		}
	}

foo(students);
Ответить с цитированием