Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   функция должна возвращать объект без одного свойства (https://javascript.ru/forum/misc/6677-funkciya-dolzhna-vozvrashhat-obekt-bez-odnogo-svojjstva.html)

blackzub 14.12.2009 17:55

функция должна возвращать объект без одного свойства
 
Собственно сабж
пытаюсь изобразить следующим образом

//функция должна возвращать объект без одного свойства
function remove_field(obj, prop)
{
var resObj = new Object;
var currentProp;

for(var i in obj)
	{
	currentProp = i;
	
	if (obj[i] != obj[prop])
		resObj[currentProp] = obj[i];
	}
	
return resObj;
}


не работает
как это сделать правильно?

Kolyaj 14.12.2009 18:00

delete obj[prop];

blackzub 14.12.2009 18:57

нет я не это имел в виду
удалять это свойство нельзя
нужно создать новый объект в котором будут все свойства кроме одного

Kolyaj 14.12.2009 19:00

function remove_field(obj, prop) {
    var resObj = {};
    for(var i in obj) {
        if (obj.hasOwnProperty(i) && i != prop) {
            resObj[i] = obj[i];
        }
    }
    return resObj;
}

Только правильнее тогда назвать withoutField.

blackzub 14.12.2009 19:25

спасибо, помогло!


Часовой пояс GMT +3, время: 14:55.