javascript - 检查对象中是否存在值
问题描述
我有对象:
var roles = { roles: [0: { name: 'admin' }, 1: { name: 'user' }] }
如何检查值是否user
存在?
我试过这样做:
console.log(('user' in roles));
但是这个回报false
。为什么?
解决方案
in运算符检查属性而不是它的值
let test = {'a':1,'b':2}
console.log('a' in test)
console.log(1 in test)
我如何搜索值
在这里使用some
数组的方法我正在检查所需的值是否在对象中。
var roles = { roles: [{ name: 'admin' },{ name: 'user' }] }
let searchValue = (input,searchKey) => {
return input.some(( {name} ) => name === searchKey) //
}
console.log(searchValue(roles.roles, 'user'))
console.log(searchValue(roles.roles, 'user not foound'))
推荐阅读
- javascript - freeCodeCamp 挑战指南:使用 reduce 方法分析数据
- sql - 如何使用 Liquibase 对表和索引使用不同的表空间
- javascript - HTML,react.js如何制作下载按钮下载HTML页面内容?
- inria-spoon - 在没有严格编译的情况下为 CtCodeSnippetStatement 构建 Spoon CtElements
- python - 将不正确的 JSON 加载到 Dataframe 中
- rust - 创建向量并稍后分配时出现问题
- java - SFTP服务器获取权限在java中不起作用
- nodes - 如何在使用 nodejs 14 安装 Cypress v6.6 时修复丢失的文件夹“cypress”
- angular - 如何使用 Ionic 框架添加自动 OTP 验证功能?
- java - 如何处理大型 http JSON 响应体