let arr = {name:''} 如何判断 arr 有name属性,并且name属性还有值
时间: 2023-02-14 20:29:34 浏览: 55
可以使用 "in" 运算符来判断对象是否具有某个属性,例如:
```
if ("name" in arr) {
// arr 有name属性
}
```
如果要判断 name 属性有没有值,可以这样写:
```
if ("name" in arr && arr.name) {
// arr 有name属性并且name属性还有值
}
```
也可以用 `arr.hasOwnProperty("name")` 进行判断,它只会检查对象自身是否有这个属性,不会检查它继承了哪些属性。
```
if(arr.hasOwnProperty("name") && arr.name)
```
还有一种写法是使用 typeof 判断
```
if(typeof arr.name !== 'undefined' && arr.name !== null)
```
这种方法可以判断对象中是否有name属性且还有值。
相关问题
let arr=[{name:'a',value:1},{name:'b',value:2}] 求arr最大值
可以使用reduce()方法来得到arr数组中value最大的元素对象。
代码如下:
```
let arr=[{name:'a',value:1},{name:'b',value:2}];
let maxObj = arr.reduce((prev, current) => (prev.value > current.value) ? prev : current);
console.log(maxObj);
```
输出结果为:{name: "b", value: 2}
let arr =[ {file_name: ceshi , db_code: } , {file_name: ceshi , db_code: } ] 查找数组对象中是否包含file_name这一属性
你可以使用 JavaScript 数组的 `find` 方法来查找数组对象中是否包含 `file_name` 这一属性。例如:
```javascript
const arr = [
{ file_name: 'ceshi', db_code: '' },
{ file_name: 'ceshi', db_code: '' }
];
const result = arr.find(obj => obj.hasOwnProperty('file_name'));
if (result) {
console.log('数组对象中包含file_name这一属性');
} else {
console.log('数组对象中不包含file_name这一属性');
}
```
这里使用了 `hasOwnProperty` 方法来判断对象中是否包含 `file_name` 属性。