gpt4 book ai didi

javascript - 查找对象内的特定属性

转载 作者:行者123 更新时间:2023-11-28 05:47:20 26 4
gpt4 key购买 nike

我有一个对象。我想检查其中是否存在特定属性。

问题是:我正在寻找的属性可能在任何地方,即:对象的结构是未定义的。

例如:

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但是,我不想返回找到的部分,而是想编辑属性并返回具有修改后的属性的整个对象,而不仅仅是具有该属性的对象的子集。

最佳答案

你尝试过吗:

obj1.hasOwnProperty('propIWant')

关于javascript - 查找对象内的特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com