Javascript-动态推送到新数组?

Javascript-动态推送到新数组?,javascript,arrays,Javascript,Arrays,您好,我是javascript新手,如果我的解释不是最好的,我很抱歉 我正在从一个名为myData的数组中取回数据。我有一个条件语句,它检查页面url,并根据url将数组的特定索引推送到名为stateArray 目前,我正在使用如下推送方法: stateArray.push(myData[1][5], myData[2][5], myData[3][5], myData[4][5], myData[5][5], myData[6][5], myData[7][5], myData[8][5],

您好,我是javascript新手,如果我的解释不是最好的,我很抱歉

我正在从一个名为
myData
的数组中取回数据。我有一个条件语句,它检查页面url,并根据url将数组的特定索引推送到名为
stateArray

目前,我正在使用如下推送方法:

stateArray.push(myData[1][5], myData[2][5], myData[3][5], myData[4][5], myData[5][5], myData[6][5], myData[7][5], myData[8][5], myData[9][5], myData[10][5], myData[11][5], myData[12][5], myData[13][5], myData[14][5], myData[15][5], myData[16][5], myData[17][5], myData][5])
stateArray
的返回返回了我期望的数据,但是我将有十种不同的情况,我想知道是否有一种方法可以为每种情况更好地推送17次

对于该条件,每个元素都是相同的。比如说

if (url.includes('/states/') {
stateArray.push(myData[1][5], myData[2][5], myData[3][5], myData[4][5], myData[5][5], myData[6][5], myData[7][5], myData[8][5], myData[9][5], myData[10][5], myData[11][5], myData[12][5], myData[13][5], myData[14][5], myData[15][5], myData[16][5], myData[17][5], myData][5])
} else if (url.includes('/homes/) {
stateArray.push(myData[1][6], myData[2][6], myData[3][6], myData[4][6], myData[5][6], myData[6][6], myData[7][6], myData[8][6], myData[9][6], myData[10][6], myData[11][6], myData[12][6], myData[13][6], myData[14][6], myData[15][6], myData[16][6], myData[17][6], myData][6])
} else if (url.incldues('/retail/) {
stateArray.push(myData[1][7], myData[2][7], myData[3][7], myData[4][7], myData[5][7], myData[6][7], myData[7][7], myData[8][7], myData[9][7], myData[10][7], myData[11][7], myData[12][7], myData[13][7], myData[14][7], myData[15][7], myData[16][7], myData[17][5], myData][7])

}
正如我前面提到的,我目前有10个条件,很难维护和更新。有没有办法动态生成相同的结果?我相信这可以通过循环完成,但我不熟悉在特定索引处推送并在特定索引处结束的语法


我的预期结果是用一种简单的方法来处理每一个条件,并推进到新的数组中。

您可以使用
forEach

if (url.includes('/states/')) {
  myData.forEach(e => stateArray.push(e[5]));
} else if (url.includes('/homes/')) {
  myData.forEach(e => stateArray.push(e[6]));
} else if (url.includes('/retail/')) {
  myData.forEach(e => stateArray.push(e[7]));
}

(还请注意,您需要第二个
if
结尾处关闭
if
包含的

您可以使用
forEach

if (url.includes('/states/')) {
  myData.forEach(e => stateArray.push(e[5]));
} else if (url.includes('/homes/')) {
  myData.forEach(e => stateArray.push(e[6]));
} else if (url.includes('/retail/')) {
  myData.forEach(e => stateArray.push(e[7]));
}

(还请注意,您需要在
if
结尾处添加第二个
以关闭
if
包含的

结尾处的
myData][5]
是什么意思?这是打字错误吗?结尾的
myData][5]
是什么意思?那是打字错误吗?