首页 > 解决方案 > 映射后的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'] 这对我来说似乎很奇怪。谁能为我解释一下?

标签: javascript

解决方案


数组推送将返回数组的长度,这是您分配给arr2. 参考


推荐阅读