Node.js-内联推送到数组

Node.js - Pushing to an array inline

本文关键字:数组 js- Node      更新时间:2023-09-26

为什么这两个值不同?

var sliced = [1,2].slice(1);
sliced.push(3);
console.log(sliced);

var sliced = [1,2].slice(1).push(3);
console.log(sliced);

也许这可以揭示为什么这不起作用:

var result = process.argv.slice(1).push('xyz');

但这是:

var result = process.argv.slice(1).concat('xyz');

.push返回值被推送到的数组的新长度,而不是它被推到的数组。

.push方法返回它被推送到的数组的长度

.根据MDN 推送返回

方法所在对象的新长度属性呼叫。

所以,即使您将5、6和7作为数组元素,它也会返回数组的长度

var sliced = ([5,6,7].slice(1)).push(3);
console.log(sliced);

输出为3