首页 > 解决方案 > Javascript,将数组的第一个元素连接到另一个数组的第一个元素

问题描述

我是 Javascript 的初学者,我试图将数组的第一个元素连接到第二个数组的第一个元素,第二个元素与第二个元素等等。2 个数组的长度始终相同。

我只能使用纯 Javascript 代码。大写字母的函数是我正在使用的平台(fulcrumapp.com)的自定义函数。

第一个数组有 3 个元素。第一个元素以 开头$1&498600&%Cocina%...,第二个以 开头,$2&498600&%Baño%...而第三个以 开头$3&700600&%Baño 2%...

var resumen_espacios = ['$1&498600&%Cocina%3611:nc2&498600&,3612:c2,3613:c2,3614:c2,3615:c2,3616:c2,3617:c2,3618:c2,3619a:c2,,,,36113:c1,36114:c1,36115:c1,36116:c1,36117:c2,,,,36121:c2,36122:c2,,$', '$2&698600&%Baño%3611:nc2&698600&,3612:c2,3613:c2,3614:c2,3615:c2,3616:c2,3617:c2,3618:c2,3619a:c2,36110:c1,36111:c1,36112:c1,,,,,36117:c2,36118:c1,,,36121:c2,36122:c2,,$', '$3&700600&%Baño 2%3611:nc2&700600&,3612:c2,3613:c2,3614:c2,3615:c2,3616:c2,3617:c2,3618:c2,3619a:c2,36110:c1,36111:c1,36112:c1,,,,,36117:c2,36118:c1,,,36121:c2,36122:c2,,$'];

从第一个数组中,我通过以下函数提取元素的子字符串:

function extract_3611(value, index, array) {
  if (NOT(CONTAINS(STRING(value),'3611:nc'))) {
    return '';
  } else {
    return value.split('3611:nc').pop().split('&,')[0];
  }
}

然后我创建一个新的第一个数组,如下所示:var output_3611_arr = resumen_espacios_arr.map(extract_3611);

输出是:['2&498600', '2&698600', '3&700600'];

第二个数组有 3 个元素:

var espacios_titulos_arr = ['Cocina', 'Baño', 'Baño 2'];

然后我尝试通过以下方式连接var espacios_titulos_arrand数组:output_3611_arr

for (var i = 0; i < espacios_titulos_arr.length; i++) {
  SETRESULT((espacios_titulos_arr[i] + ' -> ' + output_3611_arr[i])); 
}

我想从 SETRESULT() 函数得到的是: ['Cocina -> 2&498600', 'Baño -> 2&698600', 'Baño 2 -> 2&700600']但问题是我总是只得到最后一项['Baño 2 -> 2&700600']作为 SETRESULT() 函数的输出,与我想要连接的数组有多少元素无关。老实说,我不明白为什么。

谢谢你的建议,斯特凡诺。

标签: javascriptarraysconcatenation

解决方案


您可以使用Array.prototype.map

result = espacios_titulos_arr.map((s, i) => s + ' -> ' + output_3611_arr[i])

然后SETRESULT根据需要使用。

SETRESULT(result)

推荐阅读