首页 > 解决方案 > 如何访问对象中子元素的值?

问题描述

我想访问每个用户的朋友数组(数组的值是用户的 id)并返回给定用户(朋友)的朋友数组的值

const users = [
{
   "id": 1,
   "firstName": "Paul",
   "surname": "Crowe",
   "friends": [2]
 },
 {
   "id": 2,
   "firstName": "Rob",
   "surname": "Fitz",
   "friends": [1,3]
 },
 {
   "id": 3,
   "firstName": "Ben",
   "surname": "O'Carolan",
   "friends": [2]
 },

这是我尝试过的:

const fof = users.filter(user => {
      if (friend == user.id) {
        return true;
      }
    });

标签: javascriptarrays

解决方案


当你有一个大数组时, find() 更有效。它将返回与条件匹配的第一个元素

const findFOF = (id) => users.find(item => item.id === id).friends

推荐阅读