В JavaScript, как найти значение в массиве объектов, который имеет вложенный массив - PullRequest
0 голосов
/ 25 октября 2019
var array [{
  machines:[{
    node: "01",
    disksize: "75",
    ram: "8"
    },
    node: "02",
    disksize: "100",
    ram: "16"
    },     
  ]
}]

let obj = objArray.find(obj => obj.disksize=== '100');
console.log(obj);

Я пробовал все типы способов получить любое значение, которое я ищу в, безуспешно, как бы это было сделано в javascript?

Ответы [ 2 ]

1 голос
/ 25 октября 2019

У вас есть вложенный массив, и только внутренний массив machines имеет требуемый объект. В этом случае вы можете выполнить итерацию внешнего и вернуть находку внутреннего массива.

var array = [{ machines: [{ node: "01", disksize: "75", ram: "8" }, { node: "02", disksize: "100", ram: "16" }] }],
    result;

array.some(({ machines }) => result = machines.find(({ disksize }) => disksize === '100'));

console.log(result);
0 голосов
/ 25 октября 2019

Что делать, если ваши данные отличаются и похожи?

var array = [
  machines:{
    node: "01",
    disks:[{
      sdasize: '20',
      sdbsize: '200',
    }],
    ram: "8"
    },
    machines:{
      node: "02",
      disks:[{
        sdasize: '75',
        sdbsize: '300',
      }],
      ram: "16"
    },
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...