首页 > 解决方案 > 如何在 Object.entries() 中使用 find?

问题描述

我有对象包含这些数据

{
    'c':'d',
    'd':'a',
    'e':'f',
}

我正在尝试find()像这样使用数组

let found = Object.entries(myobject).find(item => item['d'] == 'a');

但是我的价值是不确定的,found所以我应该怎么写呢?

标签: typescript

解决方案


Object.entries()返回对数组,其中每对的第一个元素是,第二个元素是。所以回调 in.find()pair作为参数接收,然后您可以检查它的 key ( pair[0]) 和 value ( pair[1]):

const myObject = {
  'c': 'd',
  'd': 'a',
  'e': 'f',
}

const found = Object.entries(myObject)
  .find(pair => pair[0] === 'd' && pair[1] === 'a');

console.log(found);


或者,您可以在函数参数中使用数组解构:

const myObject = {
  'c': 'd',
  'd': 'a',
  'e': 'f',
}

const found = Object.entries(myObject)
  .find(([key, value]) => key === 'd' && value === 'a');

console.log(found);


推荐阅读