У меня есть объект. Я хочу проверить, существует ли в нем определенное свойство или нет.Найти конкретное свойство внутри объекта
Проблема заключается в следующем: свойство, которое я ищу, может быть где угодно, т. Е. Структура объекта не определена.
например:
obj1 = { "propIWant": "xyz" }
obj2 = { "prop1": [ {"key": "value"}, {"key":"value"}, 1, {"key": { "propIWant": "xyz"}}]
Я попытался следующие, но это, кажется, не в состоянии:
var lastTry = function(entry){
// if entry is an array
if(typeof entry === 'object' && entry instanceof Array){
for(var i in entry)
entry[i] = this.lastTry(entry[i]);
}
// if entry is a normal object
else if(typeof entry === 'object'){
// iterate through the properties of the entry
for(var key in entry){
console.log('key is: ', entry[key])
// in case the entry itself is an array
if(typeof entry[key] === 'object' && entry[key] instanceof Array){
for(var i in entry[key]){
entry[key][i] = this.lastTry(entry[key][i]);
}
}
// in case the entry is a simple object
else if(typeof entry[key] === 'object') {
console.log('entry[key] is an object', entry[key], key)
// if we directely find the property.. modify it
if(entry[key].hasOwnProperty('_internal_url')){
**entry[key]['_internal_url'] = "http://localhost:4000"+entry[key]['_internal_url'];** <-- My objective
}
else{
// call this method again on that part
// for(var i in entry[key]){
// if(typeof entry[key][i] === 'object')
// entry[key][i] = this.lastTry(entry[key][i]);
// }
}
}else{
console.log('not found')
}
}
}
}
Может кто-то пожалуйста, помогите мне с ней я нашел следующее: Find by key deep in a nested object но , вместо того, чтобы возвращать найденную часть, я хочу отредактировать свойство и вернуть весь объект с измененным свойством, а не только подмножество объекта, у которого есть это свойство.
@DominicTobias смотрит в него –
Возможный дубликат [Поиск по ключевым глубоко вложенного объекта JSon] (http://stackoverflow.com/questions/15523514/find-by-key-deep-in-nested- json-object) – morels