gpt4 book ai didi

javascript - map(Number) 在这里做什么?

转载 作者:行者123 更新时间:2023-12-03 16:31:39 25 4
gpt4 key购买 nike

var strArr = ["[1,2,3,4]","[1,2,3,4"]];
var arr1 = strArr[0].match(/\d+/g).map(Number);

我知道 map()方法创建一个新数组,其结果是在调用数组中的每个元素上调用提供的函数。此处为 Number是一个包装器对象,我无法理解发生了什么。

我的理解是,如果我通过控制台记录删除 map 方法,我会得到一个字符串数组,而包括 map 方法,我会得到一个数字数组。我想知道 map 是如何获取每个字符串并转换为数字的。

最佳答案

var arr1 = strArr[0].match(/\d+/g).map(Number);

相当于
var arr1 = strArr[0].match(/\d+/g).map((str, ind, arr) => Number(str, ind, arr));

原因 Number尽管传入了额外的参数,但它仍然有效,因为它忽略了除第一个参数之外的所有内容。您不能期望每个函数都相应地表现,因为并非所有函数都会忽略除第一个参数之外的所有内容,但在这种情况下,它是一种方便的快捷方式。另一个运行良好的简洁示例是将真值和假值转换为 bool 值:
var arrBool = arrAny.map(Boolean);

关于javascript - map(Number) 在这里做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48343478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com