如何验证JavaScript对象数组中是否存在指定属性(username)
验证JavaScript对象数组中是否存在指定键(username)
针对你给出的数组,可根据不同需求用以下方式验证username属性是否存在:
1. 检查数组中至少一个对象包含username属性
使用数组的some()方法,只要有一个对象满足条件就返回true:
const arr = [ { id: 1, username: 'fred' }, { id: 2, username: 'bill' }, { id: 2, username: 'ted' } ]; const hasUsername = arr.some(obj => 'username' in obj); console.log(hasUsername); // 输出 true
2. 检查数组中所有对象都包含username属性
使用数组的every()方法,只有所有对象都满足条件时才返回true:
const allHaveUsername = arr.every(obj => 'username' in obj); console.log(allHaveUsername); // 输出 true
不同检查方式的区别
'username' in obj:会检查对象自身及其原型链上的属性obj.hasOwnProperty('username'):仅检查对象自身定义的属性,不包含原型链继承的属性obj.username !== undefined:如果属性存在但值为undefined,会返回false,适合需要属性有实际值的场景
内容的提问来源于stack exchange,提问作者Madush Nim
相关产品推荐
相关产品推荐

