javascript - 映射后的JavaScript数组推送-返回数组的长度?
问题描述
我不明白下面的代码如何在这里打印数字 2。
const arr = [{
greet: 'hi',
}];
const arr2 = arr.map(obj => obj.greet).push('bye');
console.log(arr2); // 2
我的第一个想法是,由于 arr.map(obj => obj.greet) 将返回 ["hi"],通过将 'bye' 推送到这个数组,它应该是 ['hi', 'bye']。
const arr = [{
greet: 'hi',
}];
const arr2 = arr.map(obj => obj.greet);
arr2.push('bye');
console.log(arr2); // ['hi', 'bye']
与此不同的是,如果我将它们放在一起,它会返回 2 而不是 ['hi', 'bye'] 这对我来说似乎很奇怪。谁能为我解释一下?
解决方案
数组推送将返回数组的长度,这是您分配给arr2
. 参考
推荐阅读
- xamarin - 由于 .net 问题,在 xam.plugin.downloadmanager 中安装失败
- javascript - 未捕获的 SyntaxError:意外的字符串错误
- apache-flink - Flink 键控状态清理用于增量 RocksDB 检查点
- ios - Apple 地图上的语音转弯导航
- dart - 如何摆脱 InkWell 小部件上的动画?
- emv - 万事达卡生成交流电
- wordpress - WordPress 自定义字段永久链接
- vue.js - 我想使用 Vue.js 点击替代按钮来替代药物
- react-native-navigation - 如何禁用 Android 上的设备后退按钮(react-native)?
- ros - 找不到名为 camaracalibrator.py [ROS] 的可执行文件