arrays - 执行映射后,每个数组的插入顺序是否都会更改
问题描述
如果我有一个数组并且我想调用 map() 到该数组。从地图返回的结果是否会与数组有不同的顺序?
const array = [1,2,3,4,5,6,7,8,9];
const mappedArray = array.map((num) => {
return num * num;
})
console.log(mappedArray);
mappedArray 将永远是 [1,4,9,16,25,36,49,64,81] 或者它可能会更改为其他内容(不是相同的顺序)?
如果我在地图内进行 API 调用,如下所示
const mappedArray = array.map(async (num) => {
return await api(num);
})
// remote API
function api(num) {
return dynamoDbClient.getItem(num);
}
解决方案
不,map
将始终按顺序遍历数组。除非在代码中的其他地方更改了数组,否则生成的数组的顺序不会改变。如果输入相同,输出将始终相同。
运行此代码 1000 次,数组每次都相同。
const array = [1,2,3,4,5,6,7,8,9];
const mappedArray = array.map((num) => {
return num * num;
})
console.log(mappedArray);
推荐阅读
- java - 如何通过鼠标拖动手动调整 JavaFX 中的窗格/矩形的大小?
- php - 如何在 woocommerce 上的特定时间段(例如 7 天)我的帐户 > 我的订单后按钮不可见(隐藏)?
- android - Android - 具有自定义字符串数据的 NumberPicker 显示错误值?
- ios - SWIFT中有两个条件的条件问题
- python - 在 Ansible 中使用 JINJA2 从 JSON 中提取带有条件的嵌套 dict 值
- python - 如何克服电子邮件标题中的 988 字符限制?
- python - 当我逐个像素地去时,Pygame 没有画任何东西
- python - 如何在 Django 中显示 ModelChoiceField 的选定值
- python-3.x - 在 y 轴上绘制时间序列,在 x 轴上绘制年份 + 周数,类型由色调确定
- azure - Azure Front Door - 如何添加地理筛选策略?