Javascript 如果对象中存在值?

2024-03-24

我有一个对象:

var car = {
    company: "Honda",
    year: "2011",
    Model: "Brio"
}

我想知道是否存在继承方法(这是正确的短语吗?)来检查给定对象中是否存在值,有点像x.hasOwnProperty, or if (x in car)。或者,我应该自己写。

我已经做了一些谷歌搜索,但它们都导致hasOwnProperty或检查数组中是否存在某个值。

编辑以取悦评论中的所有人: 我能想到这有两个有用的用例:

  1. 检查未定义的键并报告是哪一个

    if (!car.isInvalid(car, undefined)) 
        validCarsArray.push (car);
    
  2. 检查对象中是否存在一般用户输入

    var text = searchBox.input; 
    
    validCarArrays.forEach (function (car) {
        if (car.hasOwnValue(car, text)) {
        displayToUserAsResult (car);
        }
    });
    

假设我们从

const obj = {foo : "bar"};

检查一个值:

const hasValue = Object.values(obj).includes("bar");

检查财产:

// NOTE: Requires obj.toString() if key is a number
const hasProperty = Object.keys(obj).includes("foo");

多级值:

function hasValueDeep(json, findValue) {
    const values = Object.values(json);
    let hasValue = values.includes(findValue);
    values.forEach(function(value) {
        if (typeof value === "object") {
            hasValue = hasValue || hasValueDeep(value, findValue);
        }
    })
    return hasValue;
}

多级属性:

function hasPropertyDeep(json, findProperty) {
    const keys = Object.keys(json);
    let hasProperty = keys.includes((findProperty).toString());
    keys.forEach(function(key) {
        const value = json[key];
        if (typeof value === "object") {
            hasProperty = hasProperty || hasPropertyDeep(value, findProperty);
        }
    })
    return hasProperty;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 如果对象中存在值? 的相关文章

  • 使用 Mongodb 和 Node.js 在一个页面中处理多个表单

    我的登录和注册表单都在同一页面上 我已经指定了两种不同的路由来发布数据 但是当我点击注册表单末尾的注册按钮时 它会保存登录表单输入 没有 我看了这个问题 多种表单 一张处理页面 https stackoverflow com questio
  • IE toDataUrl() 安全错误

    我需要从画布上获取图片 因此我从 Amazon S3 获取图像 我在那里启用了跨源资源共享 CORS 并将 croseOrigin 属性 匿名 设置为 img 它适用于 Chrome 和FireFox 但在 IE 上 我通过调用 toDat
  • Protractor 中 element(...) 和 element(...).getWebElement() 之间的区别

    为什么我们需要element getWebElement over element 当两者的工作原理完全相同时 为什么两个 API 具有相同的功能 Protractor是一个方便的包装WebDriverJS javascript 硒绑定 e
  • Google Adsense 中的 Javascript 错误

    在我的几个运行 AdSense 的网站上 我收到以下错误 无法将消息发布到 http googleads g doubleclick net http 5Dgoogleads g doubleclick net 收件人有来源http www
  • 在 Javascript 中维护数组顺序

    我是 JavaScript 新手 在使用数组时遇到问题 我希望数组按照我显式编写的方式排序 而不是 JavaScript 决定它想要的方式 如果我们有一个数组 var array 0 zero 4 four 2 two 当我选择在控制台中显
  • onclick 和 href="javascript:函数名 之间有什么区别?

    有什么区别吗 1 a href Link1 a and 2 a href Link2 a 会以某种方式影响页面性能吗 如果您的元素实际上不应该将用户链接到某个地方 不要将其设为锚元素 如果您正在使用 a 标签只是为了改变下划线 光标 不要
  • 我在 signalr javascript 客户端中收到未定义的连接 ID

    根据我遇到的所有文档 我应该能够在连接启动后调用 connection hub id 这是我的代码 var handshake connection handshakeHub connection hub start done functi
  • 未捕获的类型错误:$(...).lightGallery 不是函数

    当我尝试单击该链接时 它会在浏览器控制台中显示 Uncaught TypeError lightGallery is not a function anonymous function index html 250dispatch jque
  • 释放 Javascript 中未附加 DOM 节点使用的内存

    作为我的应用程序的一部分 我将一组小型 Dom 节点放在一起 这些节点不会一次全部显示 我将它们存储在内部数组中 用户可以调用它们的显示 在这种情况下 我将它们重新设置为用于显示它们的 div 这一切都很好 但是 当需要用新的替换所有它们时
  • jQuery 可以改变 css 样式定义吗? (不是每个元素的单独CSS)

    我还没有看到任何文档说 jQuery 可以更改任何 CSS 定义 例如更改 td padding 0 2em 1 2em to td padding 0 32em 2em 但要么必须更改整个样式表 要么更改每个元素的类 要么更改每个元素的
  • 自动播放视频的 canvas.drawimage 仅在视频元素可见时有效

    我试图通过将视频绘制到画布上来在视频上添加一些滤镜 问题是 当视频元素不在视图中时 它会停止绘制 理想情况下 我想将视频元素全部隐藏起来 我认为它只影响 Chrome 浏览器 另外 似乎如果您停止并用鼠标启动它 问题就会消失 functio
  • 如何在 Chart.js 中将 Y 轴值从数字更改为字符串?

    我在用Chart js http www chartjs org 我正在尝试更改 y 轴 请参见下面的屏幕截图 我尝试填写yLabels具有字符串数组的属性 但这没有用 任何帮助 将不胜感激 jQuery document ready fu
  • Twitter Bootstrap 2 模式表单对话框

    我有以下对话框 div class modal div class modal header a class close a h3 Add Tags h3 div div class modal body div div
  • 跨页面加载跟踪子窗口

    如果重新加载父页面 是否可以跟踪子窗口 我目前打开窗口如下 var childWindow childWindow window open url 当我想重新打开同一个子窗口时 childWindow focus 明显的问题是 如果刷新父窗
  • 在 Three.js 中获取 Object3D 的大小

    我的场景中有这个 3D 对象 var icon new THREE Object3D var iconTexture THREE ImageUtils loadTexture images icon png iconMaterial new
  • Javascript无限原型链

    我正在使用以下测试代码 function Test Test prototype MyMethod a function b function 为了运行它 我只需这样做 var test new Test console debug tes
  • 错误:找不到模块“@discordjs/opus”

    每次我运行不和谐的语音识别代码时 它都会上线 但一旦加入频道 我的代码就会显示错误 找不到模块 discordjs opus Require stack C Users SURYASH Desktop DiscordSpeechBot no
  • MongoDB GridFS - 是文件名还是文件名

    请看下图 来自http mongoexplorer com http mongoexplorer com 我一直在尝试通过 GridFS 进行工作 参考https github com jamescarr nodejs mongodb st
  • 类型“CombinedVueInstance>>”上不存在属性“XXX”

    我使用 TypeScript 创建了一个 vue 组件 并且在以下位置收到此错误data and in methods Property xxx does not exist on type CombinedVueInstance
  • 使用概率选择数组值

    我还有一个作业要做 那就是 从黄色 蓝色和红色中随机选择一种颜色 概率为 黄色 3 7 蓝色 1 7 红色 3 7 我知道我可以通过使用类似的方法来解决这个问题 黄黄黄蓝红红红 但我认为这在编程上不是很好 因为当我碰巧发生这种情况时 我将不

随机推荐

  • HM10 ble改变特征值AT命令Arduino

    谁能帮我用AT命令写入特征值 或者如何使用Hm10模块将数据从arduino发送到另一个ble设备 HM10发送AT START后 会通告数据包 并且可以检测服务和特征 但特征值是默认的0x00 如何更改 多次检查数据表 但找不到能够执行相
  • 托管 C++/CLI 类中的 auto_ptr 或 shared_ptr 等效项

    在 C CLI 中 您可以在托管类中使用本机类型 因为不允许在托管类中保存本机类的成员 在这种情况下您需要使用指针 这是一个例子 class NativeClass public ref class ManagedClass private
  • Discord.js v14 创建频道

    我尝试创建一个频道 但总是出现错误 我不知道如何解决它 不要注意 req 0 在 代码 中 它来自数据库 与问题没有链接 因为它在 v13 中工作 看来您的帖子主要是代码 请添加更多详细信息 我不知道我能得到什么更多的细节 哈哈 抱歉 英语
  • 在 Node.js 中的单个 HTTP 请求中调用多个 HTTP 请求

    我试图在单个 URL 调用中调用多个 URL 并将其 json 响应推送到数组中 然后将该数组发送给最终用户 我的代码如下所示 var express require express var main router express Rout
  • 我有一个 JApplet,它必须显示 3 个组件。 (2 个 JPanel 和 1 个 Paint 方法)

    我有一个作业 其中我必须允许用户使用二次方程绘制图表 我设法绘制了图形的骨架 现在我尝试显示 控制面板 以供用户输入值 我有4个文件 graph java panel java panelB java panelC java 我的问题是当我
  • 如何在 debian 上安装 apcu 作为 php7 扩展

    我看过这个ubuntu教程 http thereluctantdeveloper com 2015 12 quick and dirty php 70 set up on ubuntu 1404 with apcu http therelu
  • SQL Server 执行模拟

    两者有什么区别 execute as user testuser AND execute as login testuser 我正在这些登录名下执行跨数据库过程 它适用于作为登录名执行 但不适用于作为用户执行 这表示服务器主体 testus
  • 编译为 C 时的垃圾收集

    将垃圾收集语言编译为C时 垃圾收集的技术有哪些 我知道有两个 维护一个影子堆栈 将所有根显式保存在数据结构中 使用像 Boehm 这样的保守垃圾收集器 第一种技术很慢 因为您必须维护影子堆栈 可能每次调用函数时 您都需要将局部变量保存在数据
  • 如何使用 jQuery 获取 id 元素的一部分?

    如何从 id old id 的 span 中获取 一些文本 并将其放入 id new id 中 span Some text span span span span Some text span span span 我不知道如何获得数字部分
  • 4 层(对于 N 层)架构示例?

    最近 我的一个朋友向我询问 N 层架构 我能够通过示例向他解释 1 2 和 3 层架构 但当我想给出超过 3 层的例子时 我就陷入了困境 我用谷歌搜索并大量寻求帮助 但找不到任何像样的例子 事实上 它被命名为 N 层 这让我认为 N 可以是
  • 使用升压间隔_map

    试图遵循boost party我制作了这个示例代码 include boost icl interval hpp include boost icl interval map hpp include
  • 为什么Python中列表元素查找的复杂度是O(1)?

    今天在课堂上 我们了解到从列表中检索元素是O 1 在Python中 为什么会这样呢 假设我有一个包含四个项目的列表 例如 li perry 1 23 5 s 这些项目在内存中具有不同的大小 所以不可能获取内存位置li 0 并添加每个元素大小
  • 相似列出现的次数

    我是 SQL SERVER 新手 需要您的建议 我有一张大桌子 上面有商店信息 这是 bench id 列 bench id 31 51 51 61 61 61 71 71 我创建了另一个包含两列的小表 distinct bench num
  • BatchGetItem 或 Query DynamoDb - 按范围查询

    我有一个名为 User 的表 它有一个用户 ID 的哈希键和一个组织 ID 的范围键 如何返回组织 ID 为 3 的所有用户 顺便说一句 这是一个 Lambda 函数 这段代码给了我一个错误 console log Loading even
  • YUY2 与 YUV 422

    我无法理解两者之间的确切区别 从研究来看 更多地讨论两者是不同的 但少数人似乎将它们分组在 4 2 2 抽样方案下 YUV 422 I 和 J 版本 有一个亮度平面 Y 和 2 个色度平面 U V 然而 在 I422 中 色度平面 蓝色和红
  • 如何在 React.js 中解析 FOUC

    我已经从 create react app 构建了react js 网站 但在生产模式下 存在 FOUC 因为样式是在 html 渲染后加载的 有什么办法可以解决这个问题吗 我一直在谷歌搜索答案 但还没有找到合适的答案 FOUC FOUC
  • 如何在WPF中绘制平滑的曲线?

    我有三个已知位置 目前我正在驾驶两条线路 如下所示 Line line new Line StrokeThickness 3 Stroke lineColor X1 MyX Y1 MyY X2 MyX Y2 MiddleY Graph Ch
  • Canvas 绘制在 Safari 上需要花费大量时间,但在 Chrome 或 FF 上则不需要

    我正在我的网站上制作万花筒 它所做的只是获取一张图像 通过拖放或加载时的默认图像 并将其复制 10 次 万花筒的每个切片复制一次 鼠标移动时 调整切片的旋转和缩放以达到所需的效果 在 Google Chrome 和 Firefox 上 它可
  • Azure 上的 ASP.NET MVC 5:对于 SVG 文件,“您正在查找的资源已被删除...”

    我创建了一个包含一些视图和控制器的 MVC 5 网页 添加了一些图像 gif 和 svg 并验证它主要在本地工作 图像显示出来 一切都按预期进行 当我部署到 Azure 时 gif 图像加载正常 但 svg 图像给出错误The resour
  • Javascript 如果对象中存在值?

    我有一个对象 var car company Honda year 2011 Model Brio 我想知道是否存在继承方法 这是正确的短语吗 来检查给定对象中是否存在值 有点像x hasOwnProperty or if x in car