Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js-推送到内联数组_Javascript_Node.js - Fatal编程技术网

Javascript Node.js-推送到内联数组

Javascript Node.js-推送到内联数组,javascript,node.js,Javascript,Node.js,为什么这两种价值观不同 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).conc

为什么这两种价值观不同

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

。push
仅返回数组的长度,并且由于数组是基于0的索引,因此最后一个索引的长度始终为-1。