如何判断字符串跟对象的属性名相等
时间: 2023-11-28 18:06:27 浏览: 62
可以使用以下方法来判断字符串是否与对象的属性名相等:
1. 使用 in 运算符判断字符串是否是对象的属性名:
```
const obj = {name: 'Tom', age: 18};
const str1 = 'name';
const str2 = 'gender';
if (str1 in obj) {
console.log('str1是obj的属性名');
} else {
console.log('str1不是obj的属性名');
}
if (str2 in obj) {
console.log('str2是obj的属性名');
} else {
console.log('str2不是obj的属性名');
}
```
2. 使用 Object.keys() 方法获取对象的所有属性名数组,然后使用 includes() 方法判断字符串是否在数组中:
```
const obj = {name: 'Tom', age: 18};
const str1 = 'name';
const str2 = 'gender';
const keys = Object.keys(obj);
if (keys.includes(str1)) {
console.log('str1是obj的属性名');
} else {
console.log('str1不是obj的属性名');
}
if (keys.includes(str2)) {
console.log('str2是obj的属性名');
} else {
console.log('str2不是obj的属性名');
}
```
注意:以上两种方法都只能判断字符串是否为对象的属性名,不能判断字符串是否与对象的属性值相等。如果需要判断字符串是否与对象的属性值相等,需要使用 Object.values() 方法获取对象的所有属性值数组,然后使用 includes() 方法判断字符串是否在数组中。
阅读全文