Из массива, как извлечь значение из каждого объекта, используя «для ...» - PullRequest
0 голосов
/ 25 марта 2020

Мне нужна помощь в решении этой проблемы:

У меня определен этот массив:

class VpnList extends React.Component {
  state = {
    vpn: [
      {
        nombre: 'Test1',
        activo: 'True',
        enlace: '#!',
      },
      {
        nombre: 'Test2',
        activo: 'False',
        enlace: '#!',
      },
      {
        nombre: 'Test3',
        activo: 'False',
        enlace: '#!',
      },
      {
        nombre: 'Test4',
        activo: 'False',
        enlace: '#!',
      }
    ]
  };

Я отправляю его в свой компонент реагирования: Вот так

<MiTabs  data={this.state.vpn}/>

Мой компонент корректно получает данные, но я хотел бы извлечь их только для определенного ключа и получить значение. (Мне нужно только значение).

Я тестирую, но это неверно:

const MiTabs = props => {
  console.log("MiTabs recibe props: " + props.data);
  console.log("MiTabs recibe props Tipo:: " + typeof props.data);




  function Welcome(recibo) {
    console.log("Welcome 1.0: " + typeof recibo);
    console.log("Welcome 1.1: ") ;

    for (let key in recibo) {
      console.log("Welcome 1.2: " + key, recibo[key]);
      const map = recibo[key];

      console.log("Welcome 1.3: " + Object.values(map[0]));

      for (let variable in recibo[key]){
        console.log("Welcome 1.4:  "+ recibo[variable])

        Object.entries(recibo[key]).forEach(entry => {
          let [key, value] = entry;
          console.log("Welcome 1.5: " + key, value[0]);
        })

      }

Мне нужно следующее значение: Test1, Test2 ....

1 Ответ

0 голосов
/ 25 марта 2020

Это позволит получить любые значения, которые вы хотите.

 const getItemValues = (items, key) {
     if (typeof items !== "object" || typeof key !== "string")
         return [];

     const _getValues = (values, items, key) {
         items.forEach((k, v) => {
             if (k === key) { values.push(v) }
             else if (typeof v === "object")
                 _getValues(values, v, key);
         });

         return values;
     };

     return _getValues([], items, key);
 };

console.log(getItemValues(codes, "OO7"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...