Object.values() 、 Object.keys()

拿到当前对象里面的value值

// 假设你有一个对象
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,你可以这样获取它的值:

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

// 假设你有一个对象
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

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

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() 函数来创建一个新数组,其中包含了所有与指定值相匹配的键。这样,如果对象中有多个相同的值,你就能获取到所有对应的键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值