不可变 JS - 将值提取到数组

Immutable JS - Extracting values to array

我的 Redux 存储中有一条记录,如下所示

const fruitRecord = Immutable.fromJS({
  '8a6sd5v8a6s7fv5': {id: '1234', fruit: 'banana'},
  'hvth1jk34v23hj2': {id: '5678', fruit: 'apple'}
  });

如果我控制台记录我得到的记录

console.log(fruitRecord.toArray())
// [Array(2), Array(2)]
// 0: ["8a6sd5v8a6s7fv5", FruitRecord]
// 1: ["hvth1jk34v23hj2", FruitRecord]

我对水果 ID(本例中的 12345678 感兴趣)并将它们放在一个数组中。

这是我目前正在尝试做的事情:

const fruitName = fruitRecord.map(f => {
    console.log(f.get('id')) // prints 1234 and 5678
    return f.get('id')
})

console.log(fruitName)
// returns a Map

但问题是当尝试使用 fruitIds 我得到一个类型对象。我希望它是一个数组 ['1234', '5678']

如何更改我的代码以获取 ID 数组?

** 编辑 ** 将示例更改为可重现

实际上数组是对象类型。例如,如果你记录一个数组的类型,你会得到“object”

示例:

const array = [1,2,3],
console.log(typeof array); // this will print object.

我认为您应该尝试打印出“fruitIds”。它将以数组的形式出现。

另一种方法如下。

const fruitArray = [];
fruitRecord.map(f => {
    console.log(f.get('id')) // prints 1234 and 5678
    fruitArray.push(f.get('id')); // or frruitArray.push(f.id);
});