Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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中array.push的第二个参数是如何工作的?_Javascript_Arrays_Push - Fatal编程技术网

JavaScript中array.push的第二个参数是如何工作的?

JavaScript中array.push的第二个参数是如何工作的?,javascript,arrays,push,Javascript,Arrays,Push,我目前正在研究Array.prototype.push()如何在MDN web文档上工作。 在此页面上,通用语法表示为 arr.push(element1[, ...[, elementN]]) ,但第二个参数(elementN)的用途是什么 本页显示了一个示例,该示例汇总了不同种类的运动,如 var sports = ['soccer', 'baseball']; var total = sports.push('football', 'swimming'); console.log(s

我目前正在研究Array.prototype.push()如何在MDN web文档上工作。

在此页面上,通用语法表示为

arr.push(element1[, ...[, elementN]])
,但第二个参数(elementN)的用途是什么

本页显示了一个示例,该示例汇总了不同种类的运动,如

var sports = ['soccer', 'baseball'];
var total = sports.push('football', 'swimming');

console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total);  // 4
,但如果要执行以下操作,第一个和第二个参数是什么

var teamSports = ['soccer', 'baseball', 'hockey', 'American football'];
var individualSports = ['weight lifting', 'track & field', 'boxing', 'wrestling']

// prepare an empty array
var allSports = []; 

// add all of the team sports 
allSports.push(???????)

// add all of the individual sports
allSports.push(????????)

// all the sports added to the array
console.log(allSports); // ['soccer', 'baseball', 'hockey', 'American football', 'weight lifting', 'track & field', 'boxing', 'wrestling']
[以下附加背景(在得到一些答案和评论后)]

我感谢那些对我的帖子进行回复或评论的人。我这篇文章的主要目的是弄清楚[,elementN]]部分的含义,而不是“将数组项复制到另一个数组中”

我的例子

allSports.push(???????) 
确实涉及到“将项目放入另一个数组”,但我只是想通过获取更多示例来找出推送参数的一般规则

在我提供了链接的mdnwebdocs页面上,显示的示例只有两个参数,如

var sports = ['soccer', 'baseball'];
var total = sports.push('football', 'swimming');

console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total);  // 4

由于这两个例子都有两个参数,我只是假设push接收两个参数(事后看来这是一个错误的假设),这就是为什么我的问题主要是关于“第二个参数[,elementN]是如何工作的”。 如果有更多这样的例子

var sports = ['soccer', 'baseball'];
var total = sports.push('football', 'swimming');

console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total);  // 4

total = sports.push('weight lifting', 'track & field', 'boxing', 'wrestling')
console.log(sports); // ['soccer', 'baseball', 'football', 'swimming', 'weight lifting', 'track & field', 'boxing', 'wrestling']
console.log(total); // 8
,我不会假设push需要两个参数,[,elementN]是它的第二个参数,我会理解push可以接受任意多的参数

还有一点需要说明的是,我不知道这一点

...

也是被称为扩展运算符的代码的一部分。我只是觉得你们这些家伙用这个表达“省略”了一些东西。这也导致了我的误解

可以使用扩展运算符

allSports.push(...teamSports,...individualSports);
工作片段
var teamSports=[‘足球’、‘棒球’、‘曲棍球’、‘美式足球’];
var individualSports=[“举重”、“田径”、“拳击”、“摔跤”]
var-allSports=[];
allSports.push(…团队运动,…个人运动);
console.log(allSports)
Array.push()接受多个参数,因此在合并数组时应使用运算符

像这样:

var teamSports=[‘足球’、‘棒球’、‘曲棍球’、‘美式足球’];
var individualSports=[“举重”、“田径”、“拳击”、“摔跤”]
//准备一个空数组
var-allSports=[];
//添加所有团队运动
allSports.push(…团队运动)
//添加所有个人运动项目
allSports.push(…个人运动)
//所有的运动项目都加入了这个阵营

console.log(allSports)
elementN
不是第二个参数,它是最后一个参数-您可以添加任意数量的元素。例如,
allSports.push(…individualSports)
可能重复@jornsharpe谢谢你的评论。我在我原来的帖子中添加了更多的背景信息。@Ivar谢谢你的评论。我在我原来的帖子中添加了更多的背景信息。谢谢你的解释。所以allSports.push(…团队运动)等同于allSports.push(‘足球’、‘棒球’、‘曲棍球’、‘美式足球’),对吗?@ShinichiTakagi绝对是。
allSports.push(...teamSports,...individualSports);