Parsika
Parsika

Reputation: 79

How to retrieve or filter all first member values of an object in nodejs

In node.js i have an object like this :

let heroes = [
    {
      signal_market: 'ENJUSDT',
      signal_initial_price: 1.33607,
      signal_last_price: 1.33607
    },
    {
      signal_market: 'DREPUSDT',
      signal_initial_price: 0.007097,
      signal_last_price: 0.007097
    },
    {
      signal_market: 'KAVAUSDT',
      signal_initial_price: 4.1702,
      signal_last_price: 4.1702
    },
    {
      signal_market: 'OGUSDT',
      signal_initial_price: 4.775,
      signal_last_price: 4.775
    },
    {
      signal_market: 'BTCUSDT',
      signal_initial_price: 0.046353,
      signal_last_price: 0.046353
    }
];

With the basis of this object, i wonder how to make an variable named 'targetCoins' that contain 'ENJUSDT,DREPUSDT,KAVAUSDT,OGUSDT,BTCUSDT' in right way without using loop?

targetCoins = 'ENJUSDT,DREPUSDT,KAVAUSDT,OGUSDT,BTCUSDT';

Upvotes: 1

Views: 73

Answers (2)

Hive7
Hive7

Reputation: 3685

The following should work (now tested!):

const targetCoins = heroes.map((x) => x.signal_market).join(",");

map basically just iterates through the elements and transforms them in some way before putting the result in an array. .join(",") transforms an array into a string separated by the string ",".

let heroes = [
    {
      signal_market: 'ENJUSDT',
      signal_initial_price: 1.33607,
      signal_last_price: 1.33607
    },
    {
      signal_market: 'DREPUSDT',
      signal_initial_price: 0.007097,
      signal_last_price: 0.007097
    },
    {
      signal_market: 'KAVAUSDT',
      signal_initial_price: 4.1702,
      signal_last_price: 4.1702
    },
    {
      signal_market: 'OGUSDT',
      signal_initial_price: 4.775,
      signal_last_price: 4.775
    },
    {
      signal_market: 'BTCUSDT',
      signal_initial_price: 0.046353,
      signal_last_price: 0.046353
    }
];

const targetCoins = heroes.map((x) => x.signal_market).join(",");
console.log(targetCoins);

EDIT:

Just noticed you want it as a string so added .join(",") on the end. Tested and added a runnable version of the code!

Upvotes: 4

zovorap
zovorap

Reputation: 88

If you need a comma separated string, you'll need to join it after mapping: const targetCoins = heroes.map(el => el.signal_market).join(',');

Upvotes: 1

Related Questions