bugfix> javascript > 投稿

現在、2つのオブジェクトがあります(たくさんありますが、これが私が注目したいものです)。ご覧のとおり、これはオブジェクトの配列です。私がやりたいのは、各オブジェクトの指定されたプロパティを引き出して、それを配列に格納することです。たとえば、オブジェクトプロパティが必要です Price 、それぞれ入手したい Price オブジェクトのプロパティを作成し、次のようにその値のみを含む配列にすべてを格納します。 [215.23,215.23]

[{
        CompanyName: "Microsoft Corp.",
        Date: 1606503905,
        Price: 215.23,
        Quantity: 50,
        Symbol: "MSFT",
        TotalCost: 10761.5
      },
      {
        CompanyName: "Microsoft Corp.",
        Date: 1606503913,
        Price: 215.23,
        Quantity: 25,
        Symbol: "MSFT",
        TotalCost: 5380.75
      }
    ]

スニペットは次のとおりです。

function RadialChart(props) {
    const { transactionData } = props; //Array of objects stored here
    transactionData.map((data) => {console.log(data.TotalCost)})

useStateとmapメソッドを使用してみましたが、正しく実行されていなかったと思います。地図を使っていたとき、 const arr= [] その後、 arr.concat(data.TotalCost) そしてそれはうまくいきませんでした。解決策があれば教えてください。ありがとうございました。

回答 2 件
  • 価格の配列だけが必要な場合は、 map それと価格を返します:

    const prices = transactionData.map((data) => data.Price);
    console.log(prices); // [215.23, 215.23]
    
    

  • 地図だけで欲しいものが手に入ります。

    const myArray =  [{
            CompanyName: "Microsoft Corp.",
            Date: 1606503905,
            Price: 215.23,
            Quantity: 50,
            Symbol: "MSFT",
            TotalCost: 10761.5,
          },
          {
            CompanyName: "Microsoft Corp.",
            Date: 1606503913,
            Price: 215.23,
            Quantity: 25,
            Symbol: "MSFT",
            TotalCost: 5380.75,
          }
        ]
        
        
      console.log('CompanyName', myArray.map(x => x.CompanyName))
      console.log('Date', myArray.map(x => x.Date))
        console.log('Price', myArray.map(x => x.Price))
      console.log('TotalCost', myArray.map(x => x.TotalCost))
    
    

    状態に設定したい場合...

    useStateを宣言する

    const [ price, setPrice ] = useState([]);
    
    

    setPrice

    setPrice(myArray.map( x => x.Price ))
    
    

あなたの答え