Object.values() 、 Object.keys()

news/2024/12/22 0:16:30/

拿到当前对象里面的value值

javascript">// 假设你有一个对象
const myObject = {name: 'Kimi',age: 30,country: 'Moon'
};// 获取对象的所有值
const values = Object.values(myObject);// 输出值数组
console.log(values); // ["Kimi", 30, "Moon"]

如果你需要在 Vue 组件中获取响应式对象的值,你可以使用同样的 Object.values() 函数。在 Vue 3 的组合式 API 中,如果你有一个响应式对象,例如 refreactive,你可以这样获取它的值:

javascript">import { reactive } from 'vue';// 创建一个响应式对象
const myReactiveObject = reactive({name: 'Kimi',age: 30,country: 'Moon'
});// 获取响应式对象的所有值
const values = Object.values(myReactiveObject);// 输出值数组
console.log(values); // ["Kimi", 30, "Moon"]

请注意,Object.values() 只能获取对象自身的可枚举属性值,不会获取继承的属性值。如果你的对象中包含了嵌套对象,那么返回的数组将只包含嵌套对象的引用,而不是嵌套对象的值。如果你需要递归地获取所有嵌套对象的值,你可能需要编写一个递归函数来实现这一点。 

 

拿到当前对象里面指定value值的key

javascript">// 假设你有一个对象
const myObject = {name: 'Kimi',age: 30,country: 'Moon'
};// 假设你想找到值为 'Moon' 的键
const valueToFind = 'Moon';
let keyForValue = '';for (const key of Object.keys(myObject)) {if (myObject[key] === valueToFind) {keyForValue = key;break; // 找到后立即退出循环}
}console.log(keyForValue); // 输出:country

在这个例子中,我们遍历了 myObject 的所有键,并检查每个键对应的值是否等于我们想要找的值 valueToFind。一旦找到匹配的值,我们就得到了对应的键 keyForValue

如果你的对象中有多个相同的值,并且你想要找到所有这些值的键,你可以稍微修改上面的代码来收集所有匹配的键:

javascript">const myObject = {name: 'Kimi',nickname: 'Kimi',age: 30,country: 'Moon'
};const valueToFind = 'Kimi';
const keysForValue = Object.keys(myObject).filter(key => myObject[key] === valueToFind);console.log(keysForValue); // 输出:["name", "nickname"]

在这个例子中,我们使用了 Array.prototype.filter() 函数来创建一个新数组,其中包含了所有与指定值相匹配的键。这样,如果对象中有多个相同的值,你就能获取到所有对应的键。


http://www.ppmy.cn/news/1534496.html

相关文章

使用 Vue3 和 Axios 实现 CRUD 操作

文章目录 1、准备工作2、创建 Vue 3 项目3、项目结构4、实现 CRUD 操作5、运行项目6、小结在当今的前端开发中,Vue.js 作为一款流行的 JavaScript 框架,正在被越来越多的开发者所青睐。尤其是 Vue 3 引入了 Composition API 和更优雅的响应式处理,使得模板编写和状态管理变得…

Build a Large Language Model (From Scratch)学习汇总

目录 中文理解代码电子书全文中文翻译第1章:理解大型语言模型第2章:处理文本数据第3章:编码Attention机制第4章:从零实现GPT模型第5章:在未标记数据上进行预训练第6章:用于文本分类的微调第7章:…

行为设计模式 -策略设计模式- JAVA

策略设计模式 一 .简介二. 案例2.1 抽象策略(Strategy)类2.2 具体策略(Concrete Strategy)类2.3 环境(Context)类2.4 测试 三. 结论3.1 优缺点3.2 使用场景 前言 这是我在这个网站整理的笔记,有错误的地方请…

Docekrfile和docker compose编写指南及注意事项

Dockerfile 基础语法 我们通过编写dockerfile,将每一层要做的事情使用语法固定下来,之后运行指令就可以通过docker来制作自己的镜像了。 构建镜像的指令:docker build /path -t imageName:tag 注意,docker build后的path必须是dockerfile…

关于Elastic Search与MySQL之间的数据同步

目录 前言 思路分析 同步调用 异步通知 监听binlog 选择 实现数据同步 思路 运行项目 声明交换机、队列 1)引入依赖 2)声明队列交换机名称 3)声明队列交换机 发送MQ消息 接收MQ消息 前言 Elastic Search中的酒店数据来自于MyS…

创建实体类pojo实现Serializable接口

案例如下: 一、什么是Serializable接口 在 Java 中,Serializable 接口是一个标记接口,它的主要作用是指示一个类的对象可以被序列化。 序列化是将对象转换为字节流的过程,以便将其保存到文件、通过网络传输或存储在数据库中&…

(C语言贪吃蛇)14.用绝对值方式解决不合理的走位

目录 前言 解决方式 运行效果 总结 前言 我们上节实现了贪吃蛇四方向走位,但是出现了一些不合理的走位,比如说身体节点和头节点重合等等,本节我们便来解决这个问题。 我们希望贪吃蛇撞到自身时游戏会重新开始,并且贪吃蛇的运动方…

【Kubernetes】常见面试题汇总(四十七)

目录 106.考虑一种情况,公司希望通过保持最低成本来提高效率和技术运营速度。您如何看待公司将如何实现这一目标? 107.假设一家公司想要修改其部署方法,并希望构建一个可扩展性和响应性更高的平台。您如何看待这家公司能够实现这一目标以满足…