js实现查找对象的属性
时间: 2023-03-12 14:55:53 浏览: 58
使用 JavaScript 中的 dot notation 或者 bracket notation 可以查找对象的属性。例如,要查找对象 obj 中的属性 x,可以使用 obj.x 或者 obj['x']。
相关问题
写一个js代码 递归查找对象属性
以下是一个递归查找对象属性的JavaScript示例代码:
```javascript
function findProp(obj, propName) {
for (var prop in obj) {
if (prop === propName) {
return obj[prop];
} else if (typeof obj[prop] === 'object') {
var result = findProp(obj[prop], propName);
if (result) {
return result;
}
}
}
return null;
}
```
这个函数接受两个参数:要查找的对象以及要查找的属性名。它首先遍历对象的所有属性,如果找到了目标属性,则返回它的值。如果当前属性的值是一个对象,则递归调用函数来查找该对象是否包含目标属性。如果找到了目标属性,则返回它的值。如果没有找到目标属性,则返回null。
js 数组对象深层 通过某个属性查找符合的对象
你可以使用数组的 `find` 方法结合箭头函数来查找符合条件的对象。例如,假设你有一个对象数组 `arr`,其中每个对象都有一个 `info` 属性,你想查找其中 `info` 属性为某个值的对象,可以这样写:
```javascript
const result = arr.find(item => item.info === '某个值');
```
如果你想查找多个符合条件的对象,可以使用 `filter` 方法。例如,假设你想查找所有 `info` 属性为某个值的对象,可以这样写:
```javascript
const results = arr.filter(item => item.info === '某个值');
```
以上两种方法都是深层查找,即对象可以有多层嵌套,你可以通过 `.` 连接属性名来访问内部属性。例如,假设你的对象数组中每个对象都有一个嵌套的 `data` 对象,你想查找其中 `data` 对象的 `info` 属性为某个值的对象,可以这样写:
```javascript
const result = arr.find(item => item.data.info === '某个值');
const results = arr.filter(item => item.data.info === '某个值');
```
希望这个回答能够解决你的问题。
阅读全文