Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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 从3个数组中相应的元素索引填充新数组_Javascript_Arrays - Fatal编程技术网

Javascript 从3个数组中相应的元素索引填充新数组

Javascript 从3个数组中相应的元素索引填充新数组,javascript,arrays,Javascript,Arrays,我一直试图解决一个问题,即当数组的两个元素中有相同的字符串值时,条件逻辑不起作用。我一直在尝试for循环,但没有成功 思考之后,我想到的是,处理这个问题的最佳方法是使用我的三个数组——在我的用例中,其中的元素数量总是相等的,并将它们合并到一个新的对象数组中——从每个数组元素中取相应的值到新的对象数组中 想象一下这样的数据: const goalScorers = ['John Smith', 'Dave Jones', 'Rob Porter']; const goalTimes = [4, 2

我一直试图解决一个问题,即当数组的两个元素中有相同的字符串值时,条件逻辑不起作用。我一直在尝试for循环,但没有成功

思考之后,我想到的是,处理这个问题的最佳方法是使用我的三个数组——在我的用例中,其中的元素数量总是相等的,并将它们合并到一个新的对象数组中——从每个数组元素中取相应的值到新的对象数组中

想象一下这样的数据:

const goalScorers = ['John Smith', 'Dave Jones', 'Rob Porter'];
const goalTimes = [4, 23, 56];
const goalTypes = ['penalty', 'breakaway', 'header'];
const combinedArr = [
  { scorer: 'John Smith', time: 4, type: 'penalty' },
  { scorer: 'Dave Jones', time: 23, type: 'breakaway' },
  { scorer: 'Rob Porter', time: 56, type: 'header' }
]
我应该如何最好地处理这个问题,以这样的数组结束:

const goalScorers = ['John Smith', 'Dave Jones', 'Rob Porter'];
const goalTimes = [4, 23, 56];
const goalTypes = ['penalty', 'breakaway', 'header'];
const combinedArr = [
  { scorer: 'John Smith', time: 4, type: 'penalty' },
  { scorer: 'Dave Jones', time: 23, type: 'breakaway' },
  { scorer: 'Rob Porter', time: 56, type: 'header' }
]

映射到其中一个数组上。回调函数接收数组索引,它可以使用该索引访问其他数组的相应元素

const combinedArr = goalScorers.map((scorer, i) => ({
    scorer: scorer, time: goalTimes[i], type: goalTypes[i]
}));

映射到其中一个数组上。回调函数接收数组索引,它可以使用该索引访问其他数组的相应元素

const combinedArr = goalScorers.map((scorer, i) => ({
    scorer: scorer, time: goalTimes[i], type: goalTypes[i]
}));

如果所有数组都正确排序,那么每个索引在每个数组中都是相同的实例,那么您可以使用map解析一个,并使用索引填充其他字段 const goalScorers=['John Smith'、'Dave Jones'、'Rob Porter']; 常数目标时间=[4,23,56]; const goalTypes=[“惩罚”、“分离”、“标题”]; const newArray=goalScorers.mapelement,索引=>{ 返回{ 得分手:元素, 时间:目标时间[索引], 类型:目标类型[索引], } }
console.lognewArray如果所有数组都正确排序,那么每个索引在每个数组中都是相同的实例,那么您可以使用map解析一个,并使用index填充其他字段 const goalScorers=['John Smith'、'Dave Jones'、'Rob Porter']; 常数目标时间=[4,23,56]; const goalTypes=[“惩罚”、“分离”、“标题”]; const newArray=goalScorers.mapelement,索引=>{ 返回{ 得分手:元素, 时间:目标时间[索引], 类型:目标类型[索引], } } console.lognewArray