为什么这两个值不同?
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');
答案 0 :(得分:2)
.push
返回推送值的数组的新长度,而不是它推送到的数组。
答案 1 :(得分:2)
.push方法返回它被推送到的数组的长度。有关详细信息,请查看here
.push根据MDN返回
方法所针对的对象的新长度属性 调用。
所以即使你把5,6和7作为数组元素,它也会返回数组的长度
var sliced = ([5,6,7].slice(1)).push(3);
console.log(sliced);
输出为3