首页 > 解决方案 > 检查对象中是否存在值

问题描述

我有对象:

var roles = { roles: [0: { name: 'admin' }, 1: { name: 'user' }] }

如何检查值是否user存在?

我试过这样做:

console.log(('user' in roles));

但是这个回报false。为什么?

标签: javascript

解决方案


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'))


推荐阅读