将不可变数组从字符串转换为数字

Convert immutable array from string to number

我有一个 Vanilla JS 数组,包含数字 strings.

const stringArray = ['1', '2', '3', '4'];

如果我想将数组中的所有数字转换为 intger 我只需做

const integerArray = stringArray.map(Number);

现在,我有一个 Immutable JS List

const immutableListStrings = Immutable.List(stringArray);

使用

immutableListStrings.map(Number);

不会将 strings 转换为 integer。这是为什么?

map 通常从字面上映射您的列表值,并允许您在将它们放入 new 列表之前对其进行转换。

map 不会转换您当前的列表。

您只需要创建一个新变量(即:immutableNumbers)

const stringArray = ['1', '2', '3', '4'];
const immutableListStrings = Immutable.List(stringArray);
const immutableNumbers = immutableListStrings.map(Number);

console.log(immutableNumbers);
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.min.js"></script>